У меня возникла ситуация, когда мне нужно динамически определять тип объекта (время компиляции в порядке) в объявлении для общего.Создайте и вызовите общий метод async
У меня есть метод, как это:
private async Task<T> Post<T>(string path, Request data)
{
var authPath = GetAuthenticatedPath(path);
var response = await _client.PostAsJsonAsync<Request>(authPath, data);
return response;
}
Проблема заключается в том, что мне действительно нужно, чтобы работать больше, как это:
private async Task<T> Post<T>(string path, Request data)
{
var authPath = GetAuthenticatedPath(path);
var response = await _client.PostAsJsonAsync<data.GetType()>(authPath, data);
return response;
}
Потому что мне это нужно форматировать переменные данные, как это ActualRequestType, а не тип запроса, когда он выполняет преобразование в JSON. Проблема в том, что вы не можете делать data.GetType() в объявлении типа.
Отражение, вероятно, единственный способ. Однако писать рефлексию для корректной работы с 'await' вполне может быть невозможно. Уч. Поэтому вам, возможно, придется написать переключатель для обработки всех возможных типов ... – Luaan
@AlexeiLevenkov это нормально. Мне просто нужно знать, как сделать работу типа в угловых скобках. Я попробую несколько ответов ниже и посмотрю, поможет ли помощь. – claydiffrient
Удалено мое редактирование ... и вложенное «Время компиляции отлично работает для меня». комментарий. –