我试图在c#语法(http://msdn.microsoft.com/en-us/library/aa664812(v=vs.71).aspx)中找到泛型类声明的生产,但无法找到它。
类声明只有以下结果:
class-declaration:
attributes(opt) class-modifiers(opt) class identifier class-base(opt) class-body ;(opt)
如你所见,没有类型参数和where
子句的章节;在类名(identifier
)之后启动class-base
生产。
那么在c#语法中隐藏的类型参数和where
子句在哪里?
在c# 5.0规范中,class-declaration
生成的语法在10.1节中介绍:
10.1类声明
类声明是声明新类的类型声明(第9.6节)。class-declaration: attributes(opt) class-modifiers(opt) partial(opt) class identifier type-parameter-list(opt) class-base(opt) type-parameter-constraints-clauses(opt) class-body ;(opt)
在这里,您可以看到type-parameter-list
和type-parameter-constraints-clauses
(其中出现了where
关键字)。这些结果的语法可以分别在第10.1.3和10.1.5节中找到。