假如有这样一个方法签名

public List<T> GetSomethingList<T> (int a,int b,string c) where T:class,new()
{
   ...
}

这表示GetSomethingList是个泛型方法,调用的时候需要确定T到底是什么类型,但这里类型T需满足 where T:class,new() 这个条件,

其中 where T:class,表示T必须是引用类型(而不是int等值类型,或者ValueType的其他子类),new()表示这个类型T还必须至少具备一个无参的构造函数(还可以有其他有参数的构造函数)。

如果对类型T只要求其中一个条件,可以写成

 

1where T:class //表示T必须是引用类型

2where T:new() //表示这个类型T还必须至少具备一个无参的构造函数

 

相关文章:

  • 2021-05-24
  • 2021-12-26
  • 2021-06-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2022-12-23
猜你喜欢
  • 2021-10-17
  • 2022-12-23
  • 2021-06-20
相关资源
相似解决方案