作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
事实证明,当您尝试存储枚举值时,WinRT 保存设置的能力会引发异常。 MSDN 在页面上说 "Accessing app data with the Windows Runtime"只有"Runtime Data Types"得到支持。
那么,如何保存枚举?
最佳答案
这是一个非常奇怪的行为。但很容易解决。
首先你需要像这样的某种类型的解析例程:
T ParseEnum<T>(object value)
{
if (value == null)
return default(T);
return (T)Enum.Parse(typeof(T), value.ToString());
}
注意:ENUM 的默认值始终是它的 0 值成员。
然后你可以像这样与它交互:
var _Settings = ApplicationData.Current.LocalSettings.Values;
// write
_Settings["Color"] = MyColors.Red.ToString()
// read
return ParseEnum<MyColors>(_Settings["Color"]);
基本上,我们只是将其转换为字符串。
关于c# - 如何将枚举保存到 ApplicationData.Current.LocalSettings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12748944/
我是一名优秀的程序员,十分优秀!