Главная страница
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.012 c
15-1240225644
T&F
2009-04-20 15:07
2009.06.28
Отслеживание входящих подключений


15-1240248508
Маэстро
2009-04-20 21:28
2009.06.28
Никто не сталкивался с такой проблемой в WebMoney Keeper?


2-1241774258
Alex7
2009-05-08 13:17
2009.06.28
TRANSFORM в тексте ADO, MS SQL


15-1240751506
radium
2009-04-26 17:11
2009.06.28
Округление географических координат


2-1241873934
Tany
2009-05-09 16:58
2009.06.28
TreeNode