int double 或者你定义的某个类,都实现了ICompareable,你说ICompareable是什么类型?
如果你懂错误的原因,只是不明白为何接口为何是引用类型的话? 你只要看看msdn关于装箱部分的帮助就清楚了 装箱是将 值类型转换为 object 类型或由此值类型实现的任一接口类型的过程。 =====>msdn
让代码说话吧 class class3<T>:where T:interface1 { }; 如果这么用 struct a:interface1 {} class3<a> 可以吗?如果可以的话 class1<a> 应该也可以, 你的class1<T>:where class 就出错了
接口是引用类型他爸,接口下面可以派生出接口,也可以派生出类,而你这里的T必须是类,不能是接口,因此报错。
接口怎么不是引用类型呢,你这个错误不具代表性的
110,561
社区成员
642,566
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧