在 C# 中的类构造函数中调用异步方法

Ram*_*nMT 3 c# sqlite asynchronous windows-phone-8

目前我正在使用 c# 开发一个通用应用程序。

在应用程序中,我使用 sqlite 作为数据库,正如您现在可能的那样,它具有异步方法。

我有一个带有一些空属性的类,我将使用从数据库中获取的数据填充它们,但它应该完全在类构造函数中完成。

问题是不允许使用异步方法,所以我尝试创建一个新的异步方法并使用 sqlite 方法并在其中填充属性以在构造函数中同步调用它,但正如预期的那样它不能很好地工作。

如何在类构造函数中使用异步方法从数据库获取数据并在类构造函数方法中填充类属性?

更新:请注意,我不是在问是否可以完成,我想在构建类时使用来自 db 的数据来初始化我的类变量

Ste*_*owe 7

不要那样做

构造函数应该简单地说:构造函数。将复杂的初始化移动到初始化方法。

构造函数优雅失败的能力有限,所以不要在其中做任何复杂、长时间运行或脆弱的事情。