0
長い列挙型を継承しているので、アプリケーションでフラグとして使用しています。C#で長い列挙型を解析する
私はint.MaxValueより大きい値を解析できないことに気付きました。間違っているのですか?これはサポートされていませんか?
例えば...
using System;
public class Program
{
public static void Main()
{
foreach (var option in Enum.GetValues(typeof (A))) {
Console.WriteLine((long)option + " = " + option);
}
foreach (var option in Enum.GetNames(typeof(A))) {
var name = option;
var val = Enum.Parse(typeof(A),name);
Console.WriteLine(option + " is " + ((long)val));
}
}
public enum A : long {
Red = 1 << 0,
Blue = 1 << 32,
Green = 1 << 33
}
}
が生成されます
1 = Blue
1 = Blue
2 = Green
Red is 1
Blue is 1
Green is 2
任意のアイデアを正しい結果を取得する方法?
パーフェクトは、私はシンプルなものがありませんでした知っていました... –