我列举了像这样的标志:
[Flags]
public enum ResultValues
{
None = 0,
Red = 1,
Yellow = 2,
Green = 4,
Other = 8
};
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我可以将这些标志进行或连接,并且一切正常。
现在,我将这种枚举类型的变量存储在设置中。如果添加设置项,则可以从上方输入枚举类型并将其之一(!)选择/设置为默认值(例如绿色)。
<Setting Name="FilterResult" Type="MyNamespace.ResultValues" Scope="User">
<Value Profile="(Default)">Green</Value>
</Setting>
Run Code Online (Sandbox Code Playgroud)
但是我该如何将值的组合存储为默认值-因为我可以在代码中使用
ResultValues.Red | ResultValues.Yellow | ResultValues.Green | ResultValues.Other
Run Code Online (Sandbox Code Playgroud)
您可以通过用逗号分隔值来存储值:
<Value Profile="(Default)">Green, Other</Value>
Run Code Online (Sandbox Code Playgroud)
内置的解析器会将这样的字符串转换为正确的“组合”枚举值:
ResultValues.Green | ResultValues.Other
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |