可以有如下操作:

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>的子类。
最后修改:2021 年 10 月 04 日 04 : 52 PM
真的不买杯奶茶嘛....qwq