Асинхронный метод, который вызывается из конструктора
У меня есть вопрос, касающийся асинхронного метода, который я вызываю в конструкторе, и как решить, или есть хороший обходной путь, вот пример
public Constructor()
{
Value = PopulateValueFromDB(); //async method
CalculateInDB(); // async method
}
public async Task PopulateValueFromDB()
{
... do some async calls
return await ...
}
public async Task CalculateInDB()
{
...
return await ...
}
В основном в конструкторе у меня есть ошибка, потому что я не могу использовать ожидание там, и я не могу сделать его асинхронным.
Для CalculateInDB я могу сделать возврат недействительным, а затем решить проблему с ним, хотя я где-то читал, что возвращение пустоты не очень хорошее решение.
Что касается метода PopulateVlaue ... я должен что-то вернуть ...
Так есть ли работа вокруг меня, я не должензатем использовать эти методы и сделать их синхронизированными вместо асинхронных?