我试图编写一个方法,它接受一个泛型类型T并将其传递给一个接受泛型类型的方法(client.Execute)。
然而,以下代码行无法编译。
private T GetResult<T>(IRestRequest request)
{
var client = new RestClient(string.Format("{0}:{1}", ApiBase, ApiPort))
var response = client.Execute<T>(request);
// omitted for brevity
}
然而,以下代码行无法编译。
var response = client.Execute<T>(request);
错误1:必须将“T”设置为非抽象类型,并具有公共的无参构造函数,才能将其用作泛型类型或方法中的参数“T”
Execute 方法定义如下:
public virtual RestSharp.IRestResponse<T> Execute<T>(RestSharp.IRestRequest request) where T : new()