利用反射操作泛型类和泛型方法
-
加载DLL文件
Assembly assembly = Assembly.LoadFrom(@"SqlServerDB.dll"); -
获取指定类型
Type type = assembly.GetType("SqlServerDB.GenericClass`2").MakeGenericType(typeof(int), typeof(string));//一定给定具体类型参数 -
调用泛型方法
object objTest2 = Activator.CreateInstance(type); var method = type.GetMethod("GenericMethod").MakeGenericMethod(typeof(int)); method.Invoke(objTest2, new object[] { }); -
反射测试类
位于SqlServerDB.dll中的GenericClass.cs文件中
public class GenericClass{ public void GenericMethod () { Console.WriteLine("泛型类调用+泛型方法"); } }