переменной:
int x;
Task.Run(async () =>
{
x = await somefunc();
}).Wait();
if (x == ...
?
somefunc из сторонней библиотеки.
Метод синхронный сам?
Потому что компилятор не знает что wait сделает синхронным вызов. Никто его этому не учил и делать поддержку для «странного» кода нет смысла
Метот асинхронный.
А зачем тебе тогда Task Run
``` int x; // тут переменная не инициализирована Task.Run(async () => // тут вызов функции. компилятор не рассматривает ничего что внутри происходит, если нет присваивания в виде out параметра. сложнее анализ компилятор не делает { x = await somefunc(); }).Wait(); // как следствие тут переменная не инициализирванна. if (x == ... ```
Обсуждают сегодня