Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中的类构造函数中调用异步方法#_C#_Asynchronous_Sqlite_Windows Phone 8 - Fatal编程技术网

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

C# 在C中的类构造函数中调用异步方法#,c#,asynchronous,sqlite,windows-phone-8,C#,Asynchronous,Sqlite,Windows Phone 8,目前,我正在使用c#开发一个通用应用程序 在应用程序中,我使用sqlite作为数据库,正如你们现在看到的,它有异步方法 我有一个具有一些null属性的类,我将使用从db获取的数据填充它们,但它应该完全在类构造函数中完成 问题是不允许使用异步方法,所以我尝试创建一个新的异步方法,使用sqlite方法并在其中填充属性,以便在构造函数中同步调用它,但正如预期的那样,它不能很好地工作 如何在类构造函数中使用异步方法从db中获取数据并在类构造函数方法中正确填充类属性 更新:注意,我不是在问是否可以这样做,

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

在应用程序中,我使用sqlite作为数据库,正如你们现在看到的,它有异步方法

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

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

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

更新:注意,我不是在问是否可以这样做,我想在构建类时使用来自db的数据初始化我的类变量 构造函数应该是简单的:构造函数。将复杂初始化移动到初始化方法


构造函数优雅地失败的能力有限,因此不要做任何复杂的、长期运行的或脆弱的事情。

向我们展示您目前掌握的代码。你收到错误消息了吗?这是什么?不,我没有出错,事实上我什么都没有,或者null@RobertHarvey:谢谢你的链接!我仍然认为这是个坏主意;)亲爱的,我已经说过我已经做了你的建议,但它不起作用expected@RaminMT:我想你误解了:我建议你不要从构造器上做这件事,否则我会理解你的意思,但我认为这就是我们所说的“构造器”@RaminMT:构造函数的目的是创建对象;简单的初始化是可以的,因为它不会失败。不要在构造函数中执行任何可能失败的操作,因为无法恢复。