我希望在App.xaml.cs中有一个属性,如下所示:
private static Settings _settings = null;
public static Settings AppSettings
{
get
{
if(_settings == null)
_settings = await Settings.Deserialize();
return _settings;
}
}
在Settings.Deserialize()中,我正在从文件中读取设置,因此它具有下一个签名:
public static async Task<Settings> Deserialize() { ... }
我不能在财产中使用await。但在这种情况下,什么是好的解决方案?
答案 0 :(得分:0)
制作getter和setter函数而不是属性。您不应该首先使用属性来处理具有副作用的事物(不能保存到存储/数据库/ Web服务等)。