class MyClass<T> where T : BaseClass, ISomeInterface
请问这个T是必须都要继承BaseClass, ISomeInterface的派生类呢还是
T只要是其中任何一个类型
还是T是其中任何一个的派生类就可以呢?

解决方案 »

  1.   

    BaseClass是类型约束,ISomeInterface是接口约束,就是说必须是实现ISomeInterface接口的BaseClass的子类。泛型只允许定义一种类型约束,但可以定义多个接口约束。这么说不知道明白了没有?
      

  2.   

    你的意思是说BaseClass还要继承ISomeInterface接口?
      

  3.   

    不是,这个约束表示:用于泛型<T>的类型,必须同时满足两个条件:一、是BaseClass的派生类,二、实现ISomeInterface接口。