使用泛型类型约束的继承

时间:2013-01-22 22:13:31

标签: c# .net generics inheritance

如何正确继承具有泛型类型约束(在哪里)的泛型类的(另一个类和接口的类)?

class A { }
class B { }
interface I { }

class C<T> where T : A, B, I { }

在这个例子中,A,B和I被视为T的基础。在C#中不可能有2个类的不一致。 但我希望A是泛型类型T的基类,而B / I是C的基类/接口。怎么做?

一旦我使用where-constraint作为泛型类型,我就不能再导出我的C类

1 个答案:

答案 0 :(得分:4)

public class A
    {
    }
   public class B
   {
   }

   public interface I
   {
   }

   public class C<T> : B, I where T : A
   {
   }