通过反射创建自定义泛型的实例。
比如有这样一个泛型:Demo.GenericsSimple
System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("命名空间.User`形参数量N[[1形参类型全名,形参类型所在的程 序集名称],[2形参类型全名,形参类型所在的程序集名称],[3形参类型全名,形参类型所在的程序集名称]......N]")
代码:
namespace Demo { public class GenericsSimplewhere T:class where TT:struct {} class Program { static void Main(string[] args) { var o = System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("Demo.GenericsSimple`2[[System.String, mscorlib],[System.Int32, mscorlib]]"); Console.WriteLine("{0}",o==null?"null":o.GetType().FullName); Console.WriteLine("===end==="); Console.Read(); } } }