Вызов метода через отражение (Reflection) - C#
Формулировка задачи:
Допустим у меня есть приложение на c# со следующим кодом:
Как с помощью Reflection вызвать метод Hello() из другого приложения (разумеется тоже на c#)??
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Example2 { class Program { public static void Hello() { Console.WriteLine("Hi"); } static void Main(string[] args) { Console.ReadLine(); } } }
Решение задачи: «Вызов метода через отражение (Reflection)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Reflection; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Assembly asm = Assembly.Load(File.ReadAllBytes("ConsoleApplication2.exe")); Type t = asm.GetType("ConsoleApplication2.Program"); MethodInfo method = t.GetMethod("Hello"); object obj = Activator.CreateInstance(t); method.Invoke(obj, null); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д