可以有如下操作:
public class A<B> where B : IList<int>, new() {
}
甚至还可以多重嵌套:
public class A<B, C> where B: IList<C>, new() where C: IList<int>, new() {
}
注意:
- 这里的
int
是举例子,可以替换成其他数据类型。 - 如果传入
A
作为其他方法的参数,也需要在后面跟上那一长串。 new()
是为了生命可以通过new B()
来初始化对象,是一种约束C: IList<int>, new()
说明C
即服从上一条能够通过new C()
初始化对象,也是IList<int>
的子类。