命名惯例:非通用

时间:2016-04-11 22:40:55

标签: c# naming-conventions

如果以下是通用对象:

public class Kennel<T>
{
    public List<T> Animals { get; set; }
}

这将是一个非通用对象:\

public class Kennel
{
    public List<Dog> Animals { get; set; }
}

非泛型类是否有一个好的术语(非泛型)?

1 个答案:

答案 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;无论什么意思。