c# - 接口(interface)声明和通用约束

标签 c# generics

基本的 C# 语法问题:

所以我有这门课

public class BrandQuery<T> : Query<T> where T : Ad
{
  //...
}

我如何指定 BrandQuery 实现一个接口(interface),比如 IDisposable ?

这显然是错误的方式:

public class BrandQuery<T> : Query<T> where T : Ad, IDisposable
{
  //...
}

因为那只会对 T 施加一般约束。

最佳答案

泛型类型约束遵循所有基类/接口(interface):

public class BrandQuery<T> : Query<T>, IDisposable
    where T : Ad
{
  //...
}

关于c# - 接口(interface)声明和通用约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1250915/

相关文章:

c# - 统一: Texturing a Shoreline in a Hexgrid

Java:ArrayList 返回对象而不是所需的类型

generics - 如何确保泛型中的类型实现 Dart 中的某些运算符?

Java 泛型 : Type Extension In Method Declaration Parameters

.net - IQueryable IGrouping如何工作

Java 泛型 : incompatible wildcard capture

c# - mysqldump.exe 需要密码,即使它在参数中给出

c# - 托管在 Windows 服务中的 WCF 服务 - 错误/预期的命名空间

c# - 将事件转换为任务的可重用模式

c# - F# 按多个值进行分组并聚合