【问题标题】:Type.GetType does not work on generic classes?Type.GetType 不适用于泛型类?
【发布时间】:2012-08-27 18:01:24
【问题描述】:
Type t = Type.GetType("BLL.MyLayers.TestLayer,BLL");

对于泛型类,t 始终为 null。

当我尝试获取普通类的类型时,t 不为空。

为什么会这样或者我有什么问题?

【问题讨论】:

  • 你试过Type t = Type.GetType("BLL.MyLayers.TestLayer<>,BLL");吗?

标签: c# reflection types


【解决方案1】:

你可以试试:

Type t = Type.GetType("BLL.MyLayers.TestLayer`1,BLL");

【讨论】:

    【解决方案2】:

    使用一个小技巧编译泛型类型:

    class A<T>
    {
    }
    
    var aa = Type.GetType("ConsoleApplication1.A`1");
    

    请注意,撇号不是引号,而是 1 键左侧的键(在大多数键盘上)。

    【讨论】:

    • 感谢我身边的“`2”作为 2 个通用参数。
    • @Elisa 在这种情况下,c# 语法不是&lt;&gt;,而是:&lt;,&gt;
    猜你喜欢
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2023-02-11
    相关资源
    最近更新 更多