C# 在C中的类构造函数中调用异步方法#
目前,我正在使用c#开发一个通用应用程序 在应用程序中,我使用sqlite作为数据库,正如你们现在看到的,它有异步方法 我有一个具有一些null属性的类,我将使用从db获取的数据填充它们,但它应该完全在类构造函数中完成 问题是不允许使用异步方法,所以我尝试创建一个新的异步方法,使用sqlite方法并在其中填充属性,以便在构造函数中同步调用它,但正如预期的那样,它不能很好地工作 如何在类构造函数中使用异步方法从db中获取数据并在类构造函数方法中正确填充类属性 更新:注意,我不是在问是否可以这样做,我想在构建类时使用来自db的数据初始化我的类变量 构造函数应该是简单的:构造函数。将复杂初始化移动到初始化方法C# 在C中的类构造函数中调用异步方法#,c#,asynchronous,sqlite,windows-phone-8,C#,Asynchronous,Sqlite,Windows Phone 8,目前,我正在使用c#开发一个通用应用程序 在应用程序中,我使用sqlite作为数据库,正如你们现在看到的,它有异步方法 我有一个具有一些null属性的类,我将使用从db获取的数据填充它们,但它应该完全在类构造函数中完成 问题是不允许使用异步方法,所以我尝试创建一个新的异步方法,使用sqlite方法并在其中填充属性,以便在构造函数中同步调用它,但正如预期的那样,它不能很好地工作 如何在类构造函数中使用异步方法从db中获取数据并在类构造函数方法中正确填充类属性 更新:注意,我不是在问是否可以这样做,
构造函数优雅地失败的能力有限,因此不要做任何复杂的、长期运行的或脆弱的事情。向我们展示您目前掌握的代码。你收到错误消息了吗?这是什么?不,我没有出错,事实上我什么都没有,或者null@RobertHarvey:谢谢你的链接!我仍然认为这是个坏主意;)亲爱的,我已经说过我已经做了你的建议,但它不起作用expected@RaminMT:我想你误解了:我建议你不要从构造器上做这件事,否则我会理解你的意思,但我认为这就是我们所说的“构造器”@RaminMT:构造函数的目的是创建对象;简单的初始化是可以的,因为它不会失败。不要在构造函数中执行任何可能失败的操作,因为无法恢复。