Главная страница
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.014 c
15-1240547895
123-ий
2009-04-24 08:38
2009.06.28
Клиент для IP-телефонии


2-1241950590
MQIndrik
2009-05-10 14:16
2009.06.28
Тесты на делпхи


15-1240225644
T&F
2009-04-20 15:07
2009.06.28
Отслеживание входящих подключений


15-1240471189
Guest
2009-04-23 11:19
2009.06.28
Строковые ресурсы в бираный вид


2-1242196813
Альф
2009-05-13 10:40
2009.06.28
Когда освободиться TStrings ?