У меня есть некоторый код: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; }
}
в ответ я могу найти объект данных (response.Data), который содержит поля со значениями из URL.
Например, я получаю ответ с данными: {ResultCheck = true, Message = "Result!" } Как получить заполненные данные из URL-адреса с любым объектом без определенного типа - MyClass. Я не хочу получать ответ с любым количеством полей для разных URL-адресов. Я хочу получить анонимный объект.
Могу ли я сделать это без дженериков? Я не хочу создавать типы для разных URL-адресов. Я собираюсь использовать возвращаемый тип SendRequest() для отправки в другое место. И это приложение не знает, какой тип объекта он получит. Могу ли я сделать это универсально для любых объектов без объявления классов для них? – Anton23
@ Anton23 См. Править. –
Это не то, что мне нужно. taskCompletionSource.Task должен возвращать объект, который будет содержать объект Data со всеми полями из url. Нет общих типов и деклараций классов в обоих приложениях. – Anton23