nul*_*ken 5 c# enums parsing bit-fields
Enum.GetName()如果枚举已使用[Flags]属性进行修饰,则看起来不起作用.
该文档未指定与此限制相关的任何内容.
我注意到调试器能够显示像Tree一样的东西 水果.有没有办法检索描述组合标志的文本字符串?
以下代码显示Red.
public enum FavoriteColor
{
Red,
Blue,
WeirdBrownish,
YouDoNotEvenWantToKnow,
}
var color = FavoriteColor.Red;
Console.WriteLine(Enum.GetName(typeof(FavoriteColor), color)); // => "Red"
Run Code Online (Sandbox Code Playgroud)
虽然这个没有输出任何东西....
[Flags]
public enum ACherryIsA
{
Tree = 1,
Fruit = 2,
SorryWhatWasTheQuestionAgain = 4,
}
var twoOfThree = ACherryIsA.Fruit | ACherryIsA.Tree;
Console.WriteLine(Enum.GetName(typeof(ACherryIsA), twoOfThree)); // => ""
Run Code Online (Sandbox Code Playgroud)
string s = twoOfThree.ToString();
Run Code Online (Sandbox Code Playgroud)
要么:
Console.WriteLine(twoOfThree);
Run Code Online (Sandbox Code Playgroud)
如果要手动执行此操作,请将值拆分为位,并测试需要添加哪些标志才能生成该标志.一点编码,但不多.
| 归档时间: |
|
| 查看次数: |
1317 次 |
| 最近记录: |