类声明中关键字"where"的作用是什么?

Bia*_*cki 12 c#

我正在查看MvcContrib Grid的源代码,并看到声明为的类:

public class Grid<T> : IGrid<T> where T : class
Run Code Online (Sandbox Code Playgroud)

这位有什么作用where T : class

Ode*_*ded 19

它是泛型类型约束.

在这种情况下,它意味着泛型类型(T)必须是引用类型,即类,接口,委托或数组类型.

此处列出其他约束.

您还可以将泛型类型约束为从特定类型(基类或接口)继承

  • 不,它与从Object派生无关.例如,它可以是接口或委托. (3认同)