C# 在C语言中,带有“where”
任何人请详细解释以下代码:C# 在C语言中,带有“where”,c#,generics,C#,Generics,任何人请详细解释以下代码: internal class InternalClientProxy<TInterface> : ClientBase<TInterface> where TInterface : class 它是泛型类型约束。在这种情况下 where T : class 表示T应该是引用类型 有关约束的详细信息,请参见此处:,这意味着您只能在InternalClientProxy中使用引用类型 一些有助于更好理解的有用链接 要跟进我的评论,请
internal class InternalClientProxy<TInterface> :
ClientBase<TInterface> where TInterface : class
它是泛型类型约束。在这种情况下
where T : class
表示T应该是引用类型
有关约束的详细信息,请参见此处:,这意味着您只能在InternalClientProxy中使用引用类型 一些有助于更好理解的有用链接
要跟进我的评论,请解释语法 类型参数约束C编程指南 定义泛型类时,可以对客户端代码在实例化类时可用于类型参数的类型应用限制。如果客户机代码试图使用约束不允许的类型实例化类,则结果是编译时错误。这些限制称为约束。通过使用where上下文关键字指定约束。下表列出了六种类型的约束: 其中T:class类型参数必须是引用类型;这也适用于任何类、接口、委托或数组类型
如果没有该约束,则泛型代码的行为可能会有所不同,具体取决于TInterface是表示值还是表示引用类型。没有解释它吗?请说明具体不清楚的内容。只是在哪里使用?如果不清楚,其他人将无法提供帮助