本文以实例形式讲述了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#程序设计有所帮助。
本文地址:https://www.stayed.cn/item/13976
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我