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的就不知道了
------解决方案--------------------是的!用接口可以约束要求有相应的属性方法之类的!