为了账号安全,请及时绑定邮箱和手机立即绑定

带有标志枚举的 C# 设置

带有标志枚举的 C# 设置

C#
慕村225694 2023-09-16 15:57:17
我有枚举作为标志,例如:[Flags]public enum ResultValues{    None = 0,    Red = 1,    Yellow = 2,    Green = 4,    Other = 8};在我的代码中,我可以或连接这些标志,一切正常。现在我在设置中存储此枚举类型的变量。如果我添加一个设置条目,我可以将上面的枚举设置为类型,并选择/设置其中一个(!)值作为默认值(例如绿色)。<Setting Name="FilterResult" Type="MyNamespace.ResultValues" Scope="User">  <Value Profile="(Default)">Green</Value></Setting>但是我如何将值的组合存储为默认值 - 因为我可以在代码中执行此操作ResultValues.Red | ResultValues.Yellow | ResultValues.Green | ResultValues.Other
查看完整描述

2 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

您只需用逗号分隔即可存储值:

<Value Profile="(Default)">Green, Other</Value>

内置解析器会将这样的字符串转换为正确的“组合”枚举值:

ResultValues.Green | ResultValues.Other


查看完整回答
反对 回复 2023-09-16
?
慕的地10843

TA贡献1785条经验 获得超8个赞

逗号分隔:

Flags f = Enum.Parse<Flags>("Red,Yellow,Green");


查看完整回答
反对 回复 2023-09-16
  • 2 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信