1. 程式人生 > >C#反射の反射接口

C#反射の反射接口

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#反射の反射接口