C#通过反射创建自定义泛型
程序员文章站
2023-12-17 17:20:10
本文以实例形式讲述了c#通过反射创建自定义泛型的实现方法,分享给大家供大家参考。具体如下:
比如有这样一个泛型:demo.genericssimple
本文以实例形式讲述了c#通过反射创建自定义泛型的实现方法,分享给大家供大家参考。具体如下:
比如有这样一个泛型:demo.genericssimple<t,tt> 我想要通过反射创建一个demo.genericssimple<string,int>的实例可以通过下面的格式进行创建:
system.reflection.assembly.getexecutingassembly().createinstance("命名空间.user`形参数量n[[1形参类型全名,形参类型所在的程 序集名称],[2形参类型全名,形参类型所在的程序集名称],[3形参类型全名,形参类型所在的程序集名称]......n]")
实例代码如下:
namespace demo { public class genericssimple<t,tt> where 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(); } } }
希望本文实例对大家的c#程序设计有所帮助。