Я новичок с async / await, и я получаю ошибку в своем коде, что я не могу понять, как это исправить:
public static Func<string> GetTheID;
void Main()
{
GetTheID = async () => await GetMyId(); //Error here!
Console.WriteLine(GetTheID);
}
public async Task<string> GetMyId()
{
return await Task.Run(() =>
{
return "AAABBBB";
});
}
Я получаюэта ошибка:
Невозможно преобразовать асинхронное лямбда-выражение в тип делегата 'Func<string>'
.Асинхронное лямбда-выражение может возвращать void
, Task
или Task<T>
, ни одно из которых не может быть преобразовано в 'Func<string>'
Не могли бы вы помочь мне, как исправить эту ошибку без изменения подписиделегата GetTheID
(я имею в виду, не меняя его подпись на Func<Task<string>>
)?