空泛型参数的术语是什么<&燃气轮机;在C#中?
可能重复:空泛型参数的术语是什么<&燃气轮机;在C#中?,c#,generics,C#,Generics,可能重复: 在C#中处理反射时,我注意到有些类型具有类型定义,例如 Foo<,> Foo 这个符号的官方术语是什么?这是一个表示泛型类型定义的类型: var genType=typeof(Foo); var genTypeDef=genType.GetGenericTypeDefinition();//返回类型(Foo) 缺少泛型参数的类型名称,如列表,称为未绑定泛型类型。对未绑定泛型类型以及一些相关术语有很好的总结 根据您描述这些类型的上下文,可能会使用一些其他术语。C#规范
在C#中处理反射时,我注意到有些类型具有类型定义,例如
Foo<,>
Foo
这个符号的官方术语是什么?这是一个表示泛型类型定义的类型:
var genType=typeof(Foo);
var genTypeDef=genType.GetGenericTypeDefinition();//返回类型(Foo)
缺少泛型参数的类型名称,如列表
,称为未绑定泛型类型。对未绑定泛型类型以及一些相关术语有很好的总结
根据您描述这些类型的上下文,可能会使用一些其他术语。C#规范使用术语“未绑定泛型类型”来指代类似于
T
。Net framework似乎更喜欢术语“泛型类型定义”(如前所述,另请参见)或“开放泛型类型”(见文章)。未绑定泛型类型是泛型类型定义的同义词吗?@Bringer128 IMO,类型定义是定义类型的源代码。因此,我不认为它们是同义词。泛型类型定义是非绑定泛型类型的同义词吗?@Bringer128这两者是相关的:泛型类型定义是反射中用于描述与非绑定泛型类型对应的System.type
对象的术语。@JohnSaunders我不会称之为重复。我问的是“什么是Foo
名?”而他问的是“什么是未绑定的泛型类型?”在不知道名称的情况下,我不可能在谷歌上找到他的问题。在我看来,这是一个重复的问题,不应该删除。更密切相关的链接:
var genType = typeof(Foo<int,int>);
var genTypeDef = genType.GetGenericTypeDefinition(); // Returns typeof(Foo<,>)