zoukankan      html  css  js  c++  java
  • 获取泛型类的Type

    比如现在有一个泛型类:

    public class Product<TItem> where TItem : Item , new()

    {}

    想要获取它的类型Type需要使用:

    var type = typeof(Product<>).MakeGenericType(typeof(TItem));

    比如现在有这样一个泛型类:

    public class Product<TItem,TResource>

    where TItem : Item , new()

    where TResource : Resource , new()

    {}

    想要获取它的类型Type需要使用:

    var type = typeof(Product<,>).MakeGenericType(typeof(TItem),typeof(TResource));

    如果你编译时出现类似以下错误提示,请尝试上面的例子:

    is not a GenericTypeDefinition. MakeGenericType may only be called on a type for which Type.IsGenericTypeDefinition is true.

    System.ArgumentException : The number of generic arguments provided doesn't equal the arity of the generic type definition.Parameter name: instantiation

  • 相关阅读:
    第五次团队作业
    第三次个人作业
    第一次编程作业
    自我介绍
    个人总结
    第三次个人作业
    第一次结对作业
    第二次作业
    第一次博客作业
    Alpha总结
  • 原文地址:https://www.cnblogs.com/grady1028/p/10693495.html
Copyright © 2011-2022 走看看