我想实例化一个泛型集合(在本例中为字典),但在泛型类型声明中,我想将参数类型约束为多个类。
示例代码如下:
我有很多类都有这个声明:
public class MyClass1 : UserControl, IEspecialOptions
public class MyClass2 : UserControl, IEspecialOptions, IOtherInterface
等等
这就是我想要的:
Dictionary<int, T> where T:UserControl, IEspecialOptions myDicc = new Dictionary<int, T>();
这看起来很不错,但不能编译。
你知道如何限制第二个参数从 2 个类/接口(interface)继承吗?
我仅限于 .net 2.0
提前致谢
请您参考如下方法:
你不能。但是您可以创建一个既继承了 UserControl 又实现了 IEscpecialOptions 的抽象类,然后将泛型参数限制为抽象类型。
