使用异步方法在 App.xaml.cs 中设置 属性

Set Property in App.xaml.cs using async-method

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

使 getter 和 setter 函数代替 属性。你不应该首先对有副作用的东西使用属性(没有保存到 storage/db/web 服务或从 storage/db/web 服务等)