我正在尝试编写一个方法,该方法接受泛型类型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
}
以下几行dosnt编译
var response = client.Execute<T>(request);
错误1'T'必须是具有公共无参数的非抽象类型 构造函数,以便在泛型类型中使用它作为参数'T' 方法
Execute方法定义如下
public virtual RestSharp.IRestResponse<T> Execute<T>(RestSharp.IRestRequest request) where T : new()
答案 0 :(得分:2)
where T : new()
中有Execute<T>()
个约束。 GetResult<T>()
应具有相同的约束条件。