使用泛型类型约束的Inhertiance

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

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)

2 years ago

public class A
    {
    }
   public class B
   {
   }

   public interface I
   {
   }

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