C#通过反射创建自定义泛型 C#通过反射创建自定义泛型

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

C#通过反射创建自定义泛型 C#通过反射创建自定义泛型

  2021-03-19 我要评论
想了解C#通过反射创建自定义泛型的相关内容吗,在本文为您仔细讲解C#通过反射创建自定义泛型的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:C#,反射,创建,自定义,泛型,下面大家一起来学习吧。

本文以实例形式讲述了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#程序设计有所帮助。

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们