0
我有一些代码:RESTClient实现返回通用响应
public Task<IRestResponse> SendRequest(string url, string bodyJson)
{
var client = new RestClient(url);
var request = new RestRequest();
request.RequestFormat = DataFormat.Json;
request.Method = Method.POST;
request.AddBody(bodyJson);
var taskCompletionSource = new TaskCompletionSource<IRestResponse>();
client.ExecuteAsync(request, response =>
{
taskCompletionSource.SetResult(response);
});
return taskCompletionSource.Task;
}
响应包含了所有而不是从URL答案(响应犯规”包含数据对象)。当我为ExecuteAsync指定对象时:
public Task<IRestResponse<MyClass>> SendRequest(string url, string bodyJson)
{
var client = new RestClient(url);
var request = new RestRequest();
request.RequestFormat = DataFormat.Json;
request.Method = Method.POST;
request.AddBody(bodyJson);
var taskCompletionSource = new TaskCompletionSource<IRestResponse<MyClass>>();
client.ExecuteAsync<MyClass>(request, response =>
{
taskCompletionSource.SetResult(response);
});
return taskCompletionSource.Task;
}
public class MyClass
{
public bool ResultCheck { get; set; }
public string Message { get; set; }
}
作为响应我可以找到包含具有来自url的值的字段的对象Data(response.Data)。
例如,我收到Data的响应:{ResultCheck = true,Message =“Result!” } 如何从任何没有指定类型的对象 - MyClass接收URL的填充数据。我不想接收任何不同网址的回复。我想收到一些匿名对象。
我可以做,没有泛型?我不想为不同的网址创建类型。我将使用返回类型的SendRequest()发送到其他地方。并且该应用程序不知道它将接收什么类型的对象。我是否可以为任何对象通用而无需为它们声明类? – Anton23
@ Anton23请参阅编辑。 –
这不是我所需要的。 taskCompletionSource.Task应该返回包含Data对象的对象,其中包含来自url的所有字段。两个应用程序中都没有泛型类和类声明。 – Anton23