Как можно получить результат метода без использования ключевого слова async?

Как можно вернуть модель, чтобы сделать этот метод не асинхронным?

public Task<Result<Response>> MethodForm(Query query)
{
            return Task.FromResult(new Result<Response>(new FormResponse(null, true)));
}
  • 14 ноября 2023 г. 8:59
Ответы на вопрос 1
Чтобы не использовать ключевое слово async, можно использовать метод Task.FromResult(). Этот метод создает выполненную задачу с указанным результатом и возвращает ее. 

В данном случае, чтобы сделать метод не асинхронным, можно использовать следующий код:

public Result<Response> MethodForm(Query query)
{
    return Task.FromResult(new Result<Response>(new FormResponse(null, true))).Result;
}

Здесь мы вызываем метод Task.FromResult(), чтобы получить выполненную задачу. Затем мы возвращаем результат этой задачи, вызывая свойство Result. Таким образом, мы можем получить результат метода без использования ключевого слова async.
Похожие вопросы