日期:2014-05-20  浏览次数:20986 次

where:语句如何对泛型用多个类进行约束?
public   class   ControlCommander <T>   :   where   T   :   Control,   Component
{
}
Control,   Component是两个基类

编译时报错,提示Component类必须放在其他约束的前面,但是把Component放在前面,又提示Control类必须放在其他约束的前面。

是不是C#泛型不支持多个类约束啊?但是为什么又支持类和接口一起约束呢?

如何解决这个问题啊

------解决方案--------------------
不懂,试下我的签名。楼主不要见怪。
------解决方案--------------------
up
------解决方案--------------------
Control继承自Component,所以你只要指定Component就行了
------解决方案--------------------
C#是不支持类的多重继承的,所以当然也就不能约束多个类啦,接口OK的
------解决方案--------------------
到C#2.0为止,只支持一个类的约束,但可以有多个接口!
3.0的就不知道了
------解决方案--------------------
是的!用接口可以约束要求有相应的属性方法之类的!