只若初见1201 发表于 2018-6-1 15:40:24

C# 泛型 参数约束

请教大家,C#泛型里面,如何把参数约束成一个接口类型

public class MyClass<T,M>:IMyInterface<T,M>
where T:class,IMyInterface<T,M>
where M:baseModel
{
      bool T.ADD(M entity)
      {
         ......
            return true;
      }
}


其实我是想让MyClass实现接口T,但是如果直接写成 :T,编译时会报错 (T是形参,不能从它派生之类的错误),T是从IMyInterface继承过来的,我写成如上方法,编译时会报错(不实现成员接口IMyInterface<T,M>.ADD(M) 和显示接口声明中的“T”不是接口),请大家看看有什么写法合适呢,谢谢

只若初见1201 发表于 2018-6-1 15:40:25

把:IMyInterface<T,M> 改成 :T,编译又通过了,不知道是什么情况。。。

只若初见1201 发表于 2018-6-1 17:39:50

只若初见1201 发表于 2018-6-1 15:40
把:IMyInterface 改成 :T,编译又通过了,不知道是什么情况。。。

。。。。。又不通过了。。。。。
页: [1]
查看完整版本: C# 泛型 参数约束