简单的“反射调用泛型方法”

核心是“MethodInfo.MakeGenericMethod(params Type[] typeArguments)”方法。

  1. 首先定义一个对象。
    public class A {
     
        public T[] B() where T : new()
        {
            return new T[] { new T(), new T() };
        }
     
    }

  2. 调用。
    A a = new A();
    Type t = a.GetType();
    MethodInfo mi = t.GetMethod("B");
    MethodInfo mii = mi.MakeGenericMethod(typeof(System.Data.DataTable));
    object o = mii.Invoke(a, null);

转载于:https://www.cnblogs.com/gleamy_ming/archive/2011/02/14/1954503.html

你可能感兴趣的:(简单的“反射调用泛型方法”)