我需要在 Winforms 应用程序中进行 CRUD 调用。为此,我想为 Post、Put、Delete 和 Get 创建辅助方法。这个方法需要将数据返回给我。
对于 post 和 put,我可能会传递 List、myobject、string、int、bool 等。我的返回类型可能与我输入的模型不同。
为了实现上述目标,我正在考虑以下方面...
返回给调用者的类
public class ApiCallResult<X> where X: class
{
public HttpStatusCode StatusCode { get; set; }
public string ReasonPhrase { get; set; }
public bool IsError { get; set; }
public bool IsException { get; set; }
public string Message { get; set; }
public X Response { get; set; } //deserialized object, could be List, int string or just a single object
}
但显然这有多个问题
异步可以返回一个任务,我想返回 apiCallResult
var apiCallResult = new ApiCallResult<T> {IsError = true, Message = "No run"};
线导致 The type 'T' must be a reference type in order to use it as parameter 'T'
apiCallResult.Response = JsonConvert.DeserializeObject<List<X>>(jsonResponseString).ToList();
线导致 Cannot convert source type 'System.Collections.Generic.List<X>' to target type 'T'
我怎样才能最好地做这样的事情?不想编写多个方法来执行此操作。
泛舟湖上清波郎朗
相关分类