如果以下是通用对象:
public class Kennel<T>
{
public List<T> Animals { get; set; }
}
这将是一个非通用对象:\
public class Kennel
{
public List<Dog> Animals { get; set; }
}
非泛型类是否有一个好的术语(非泛型)?
答案 0 :(得分:4)
没有为C#规范中的内容定义好的术语。规范定义:
开放类型涉及类型参数;所有非开放类型都是封闭类型。因此,所有非泛型类型都是封闭类型,但List<int>
也是如此。那里没有类型参数; int
是参数的类型。 List<T>
是一种开放式广告。
未绑定类型是非泛型类型或泛型类型的声明类型。就像你说class C<T>
然后是&#34; C
- 一个类型参数&#34;的抽象概念。是未绑定的类型,C<int>
是绑定类型。非泛型类型既有约束也有未绑定,因此对您也没有帮助。请注意,在class C<T> { public static C<T> c; }
中,第二个C<T>
是绑定类型;已提供type参数,它为T
。
C#规范只使用&#34;非泛型&#34;无论什么意思。