C# 泛型反射的调用

时间:2021-08-12 14:49:48

namespace ConsoleApplicationFan_fan
{
class Program
{
static void Main(string[] args)
{
//获取类型 ConsoleApplicationFan_fan 命名空间 ConsoleApplicationFan_fan.MyClass要使用的类名
Type type = Assembly.Load("ConsoleApplicationFan_fan").GetType("ConsoleApplicationFan_fan.MyClass");
//创建对象
object obj = Activator.CreateInstance(type);
//获取方法
MethodInfo m = type.GetMethod("Student");
//获取泛型方法
MethodInfo mo = m.MakeGenericMethod(typeof(string));
mo.Invoke(obj, new object[] { "张三丰" });
Console.ReadKey();
}
}

class MyClass
{
public void Student<T>(T name)
{
Console.WriteLine("大家好,我叫{0}", name);
}
}

}