Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

рефлексия   Найти похожие ветки 

 
cherrex ©   (2005-08-14 10:48) [0]

Что такое рефлексия, я понимаю но очень смутно. Хотелось бы узнать по подробния.


 
oslep   (2005-08-14 11:08) [1]

Рефлексия - это мощный вариант RTTI (TypInfo.pas) для .NET, и многое другое, включая способность динамически создавать код и сборки (exe, dll) на промежуточном языке MSIL, который компилируется процессором NET.

http://delphimaster.net/view/13-1123439512/

На этом посту был?


 
cherrex ©   (2005-08-14 12:35) [2]

Допустим есть форма (TForm), ее записываем в dll, а потом вызываем ее из другого приложения. Это возможно сделать с помошью рефлексии?


 
oslep   (2005-08-14 13:33) [3]


> cherrex ©   (14.08.05 12:35) [2]

Можно


 
cherrex ©   (2005-08-14 14:03) [4]

А если это просто EXE (VCL APLICATION), я могу могу с ней работать как с библиотекой(dll).


 
Priest ©   (2005-08-15 09:24) [5]

Можешь....


 
Суслик ©   (2005-08-15 09:53) [6]


> Что такое рефлексия, я понимаю но очень смутно. Хотелось
> бы узнать по подробния.


ну это вроде published в delphi.
Что published, о том можно получить информацию во время выполнения.
Не знаю как это сделано в net, но в java можно получить информацию почти обо всем - классы, состав их методов, их параметры и пр. В принципе может использоваться для сериализации.

Вообще "рефлексия" - это как бы размышления, информация о себе самом. Если не ошибаюсь, это понятие имеет широкое распространение в философии.

В применимости к IT - это информация о информации, метаинформация.

Думаю, что в net примерно также.


 
Игорь Шевченко ©   (2005-08-15 11:43) [7]

http://rsdn.ru/article/dotnet/refl.xml


 
Суслик ©   (2005-08-15 12:51) [8]


> [7] Игорь Шевченко ©   (15.08.05 11:43)
> http://rsdn.ru/article/dotnet/refl.xml

хорошая статья.
спасибо.


 
DiamondShark ©   (2005-08-15 15:39) [9]

Ожидаем выхода нового поколения полиморфных стелс-вирусов, написанных под CLR.

;)


 
cherrex ©   (2005-08-15 17:48) [10]

Скажите как мне запустить форму из dll (если можно пример).
1)создал dll.
2)добавил через NEW VCL Form.

Как ее запустить с помощью рефлексии?


 
DiamondShark ©   (2005-08-16 12:26) [11]


> Как ее запустить с помощью рефлексии?

Примерно так:


private void button1_Click(object sender, System.EventArgs e)
{
   Assembly asm = Assembly.LoadFrom(@"D:\Projects\dotNet\Solution1\ClassLibrary1\bin\Debug\ClassLibrary1.dll");
   Type[] types = asm.GetTypes();
   foreach (Type t in types)
       if (t.IsSubclassOf(typeof(Form)))
       {
           Form f = (Form)Activator.CreateInstance(t);
           f.Show();
           break;
       }
}



Страницы: 1 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
2-1242203918
ply
2009-05-13 12:38
2009.06.28
как узнать установлены ли в системе программы?


15-1240336721
v1keeee
2009-04-21 21:58
2009.06.28
Прошу совета по переделки интерфейса


15-1240556883
tesseract
2009-04-24 11:08
2009.06.28
Прогресс виртуализации


15-1240614017
Городской Шаман
2009-04-25 03:00
2009.06.28
В Украине официально узаконили взятки.


2-1242129480
Pavlov
2009-05-12 15:58
2009.06.28
Parameter bbb_id not found