2009-08-09 89 views
9
一起

基本C#语法问题:接口声明与泛型约束

所以我有这个类

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

如何指定BrandQuery实现一个接口,说IDisposable的?

这显然是错误的方式:

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

,因为这只会把通用约束上T.

回答

17

泛型类型约束遵循所有的基类/接口:

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