日期:2014-05-17  浏览次数:20759 次

[组合约束]值和引用约束
class SomeClass<T, U> where T: class where U: struct, T.
这样看来感觉有点矛盾啊,T有引用约束,U同时有值约束和引用约束,这样不就违背了任何一个类型不能同时是一个值类型和引用类型啊?

------解决方案--------------------
首先T和U不是两个不同的对象,他们可以有各自的约束,对于为什么这样声明,可能作者也不清楚,只是为了表达可以这样用而已,你完全可以不必为这个纠结
------解决方案--------------------
这样写没有任何问题,但是你没法用,因为你构造不出一个U类型继承自一个引用类型同时又是结构体。