C#反射の反射接口
阿新 • • 發佈:2017-11-17
public say 定義類 face args tor pes read names
上一篇中敘述了反射的情況,下面主要講一些反射的實際用途。
通過反射我們我可獲取接口,還可以獲取實現接口的類,此時接口的引用可以訪問實現類的實例。
我先定義了一個接口:
public interface IPerson { void SetName(string name); void SayHello(); }
定義類實現:
namespace people { public class People:IPerson { public string Name {set; get; } public string Sex { set; get; } public string Age { set; get; } public People(){} public People(string name) { Name = name; }public void SetName(string name) { Name = name; } public void SayHello() { Console.WriteLine("大家好,我是:"+Name); } } }
通過反射實現:
namespace ConsoleApp1 { class Program { static void Main(string[] args) { IPerson iperson= null; Assembly assembly = Assembly.Load("people"); Type[] types = assembly.GetTypes(); foreach (var t in types) { if (t.GetInterface("IPerson") != null) { iperson = (IPerson)Activator.CreateInstance(t); } } if (iperson != null) { iperson.SetName("彭禺厶"); iperson.SayHello(); } Console.ReadLine(); } } }
C#反射の反射接口