列挙型が属性Enum.GetName()
で装飾されている場合、機能しないようです。[Flags]
ドキュメントには、この制限に関連するものは何も指定されていません。
デバッガーがTree |のようなものを表示できることに気付きました。果物。結合されたフラグを説明するテキスト文字列を取得する方法はありますか?
以下のコード表示Red
。
public enum FavoriteColor
{
Red,
Blue,
WeirdBrownish,
YouDoNotEvenWantToKnow,
}
var color = FavoriteColor.Red;
Console.WriteLine(Enum.GetName(typeof(FavoriteColor), color)); // => "Red"
これは何も出力しませんが....
[Flags]
public enum ACherryIsA
{
Tree = 1,
Fruit = 2,
SorryWhatWasTheQuestionAgain = 4,
}
var twoOfThree = ACherryIsA.Fruit | ACherryIsA.Tree;
Console.WriteLine(Enum.GetName(typeof(ACherryIsA), twoOfThree)); // => ""