基本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
{
  //...
}

10-01 22:00