当前位置: 首页 > 编程语言 > C#

类声明中关键字“where”的作用是什么?分享

时间:2023-04-10 14:57:36 C#

类声明中关键字“where”的作用是什么?我正在查看MvcContribGrid的源代码,看到类声明为:publicclassGrid:IGridwhereT:classwhereT:class位的作用是什么?它是一个泛型类型约束。在这种情况下,这意味着泛型类型(T)必须是引用类型,即类、接口、委托或数组类型。此处列出了其他限制条件。您还可以约束泛型类型从特定类型(基类或接口)继承来自文档http://msdn.microsoft.com/en-us/library/d5x73970.aspx其中T:类类型参数必须是引用类型;这也适用于任何类、接口、委托或数组类型。另一个例子是publicAwhereT:AnInterface其中AnInterface是一个接口类。也就是说,T必须实现这个接口。这些约束很重要,因此编译器知道哪些操作对该类型有效。例如,您不能在不告诉编译器该类型提供什么函数的情况下调用T函数。它是对类型参数的约束,表示T可以是类或接口,但不能是枚举或结构。所以T必须是引用类型而不是值类型。最好的问候,OliverHanapi它将T限制为引用类型,包括任何类、接口、委托或数组类型。这是一个泛型类型约束。它指定类型T必须是引用类型,即类而不是结构。您可以对客户端代码在实例化类时可用于类型参数的类型施加限制,这称为对类型参数的约束例如:T:类,其中T是类型,类型参数必须是引用类型;这也适用于任何类、接口、委托或数组类型。以上就是C#学习教程:类声明中关键字“where”的作用是什么?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: