使用异步方法在 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 服务等)
我想在我的 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 服务等)