使用嵌套在通用类中的类作为C#中的类型参数

再次

具有以下定义:

public class Generic<T>
{
    public class Nested { }
}

鉴于ECMA参考§25.1指出:

嵌套在通用类声明或通用struct声明(第25.2节)中的任何类本身就是通用类声明,因为必须提供包含类型的类型参数以创建构造类型。

我知道Nested需要实例化类型参数才能实例化。

我能得到通用Typetypeof

var type = typeof(Generic<>.Nested); 
// type.FullName: Namespace.Generic`1+Nested

有什么方法可以将其用作通用方法的类型参数,如下所示?

var tmp = Enumerable.Empty<Generic<>.Nested>(); 
// Error: Unexpected use of an unbound generic

如前所述,从ECMA规范中我了解到,实例化之前必须满足所有类型参数,但此处未创建任何对象。此外,Nested该类不以任何方式使用类型参数:我只是想将其嵌套定义用于代码组织。

雷内·沃格特(Rene Vogt)

不,你不能那样做。如你所说

实例化之前必须满足所有类型参数

尽管Generic<>.Nested实际上没有生成任何实例

  • 编译器不知道的语义Empty(因此不知道不Generic<>.Nested创建的实例
  • 主要的问题:你希望创建的实例IEnumerabe<Generic<>.Nested>,这将是一个类型“不满意类型参数”,也

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

嵌套类型作为基类的模板参数

来自分类Dev

C#中通用Lazy类的协变使用

来自分类Dev

如何为嵌套在通用结构中的类实现运算符?

来自分类Dev

推断通用类中的参数类型,这些参数类型是所提供参数的嵌套通用类型

来自分类Dev

限制通用类中的类型

来自分类Dev

从嵌套在ruby模块中的类中获取类名

来自分类Dev

如何从实现类中获取通用接口的类型参数?

来自分类Dev

通用类定义中的可变长度类型参数

来自分类Dev

使用接口作为通用类的类型参数,但在C#中使用“类”的限制

来自分类Dev

C#将比较类作为通用类型传递

来自分类Dev

使用派生类类型作为基类的通用操作的参数

来自分类Dev

嵌套在通用父类中的类构造函数的功能参考

来自分类Dev

C#反射-从基类中获取父类的通用参数类型

来自分类Dev

在Powershell中,如何使用字节数组作为C#通用类之一的键类型?

来自分类Dev

在实现通用接口C#的通用类中修改值类型

来自分类Dev

嵌套类作为C ++中父类的模板参数

来自分类Dev

C#中通用Lazy类的协变使用

来自分类Dev

通用类C#方法中的特例

来自分类Dev

查找使用类型'x'作为通用类型参数的实现通用类的类

来自分类Dev

C#中类参数的模拟类

来自分类Dev

获取嵌套在多个类中的值

来自分类Dev

从C#背后的代码动态更改嵌套在gridview项模板中的div的类

来自分类Dev

使用静态嵌套类作为通用参数

来自分类Dev

从通用类(T)中获取类的类型

来自分类Dev

从类中更改通用类型

来自分类Dev

模拟嵌套在类中的类以进行测试

来自分类Dev

使用嵌套在通用类中的类作为C#中的类型参数

来自分类Dev

嵌套在泛型中的类的泛型使用

来自分类Dev

C#分解通用方法中的类型参数(如果它是嵌套类)

Related 相关文章

  1. 1

    嵌套类型作为基类的模板参数

  2. 2

    C#中通用Lazy类的协变使用

  3. 3

    如何为嵌套在通用结构中的类实现运算符?

  4. 4

    推断通用类中的参数类型,这些参数类型是所提供参数的嵌套通用类型

  5. 5

    限制通用类中的类型

  6. 6

    从嵌套在ruby模块中的类中获取类名

  7. 7

    如何从实现类中获取通用接口的类型参数?

  8. 8

    通用类定义中的可变长度类型参数

  9. 9

    使用接口作为通用类的类型参数,但在C#中使用“类”的限制

  10. 10

    C#将比较类作为通用类型传递

  11. 11

    使用派生类类型作为基类的通用操作的参数

  12. 12

    嵌套在通用父类中的类构造函数的功能参考

  13. 13

    C#反射-从基类中获取父类的通用参数类型

  14. 14

    在Powershell中,如何使用字节数组作为C#通用类之一的键类型?

  15. 15

    在实现通用接口C#的通用类中修改值类型

  16. 16

    嵌套类作为C ++中父类的模板参数

  17. 17

    C#中通用Lazy类的协变使用

  18. 18

    通用类C#方法中的特例

  19. 19

    查找使用类型'x'作为通用类型参数的实现通用类的类

  20. 20

    C#中类参数的模拟类

  21. 21

    获取嵌套在多个类中的值

  22. 22

    从C#背后的代码动态更改嵌套在gridview项模板中的div的类

  23. 23

    使用静态嵌套类作为通用参数

  24. 24

    从通用类(T)中获取类的类型

  25. 25

    从类中更改通用类型

  26. 26

    模拟嵌套在类中的类以进行测试

  27. 27

    使用嵌套在通用类中的类作为C#中的类型参数

  28. 28

    嵌套在泛型中的类的泛型使用

  29. 29

    C#分解通用方法中的类型参数(如果它是嵌套类)

热门标签

归档