使用async-method在App.xaml.cs中设置Property

时间:2015-03-17 14:55:19

标签: c# async-await windows-8.1

我希望在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。但在这种情况下,什么是好的解决方案?

1 个答案:

答案 0 :(得分:0)

制作getter和setter函数而不是属性。您不应该首先使用属性来处理具有副作用的事物(不能保存到存储/数据库/ Web服务等)。