enumを使う時にenumからintに変換することがあると思います。その辺りを簡単にできるようにしましたので下記に記します。
下記のenumがあります。
public enum EncodeType
{
[Description("shift_jis")]
ShiftJis = 0,
[Description("utf-8")]
UTF8 = 1,
}
{
[Description("shift_jis")]
ShiftJis = 0,
[Description("utf-8")]
UTF8 = 1,
}
Enum値を取得する拡張クラスを作成します。
public static int Value(this Enum value)
{
// Fieldを取得します。
var fi = value.GetType().GetField(value.ToString());
// Fieldから値を取得し返します。
return (int)fi.GetValue(null);
}
{
// Fieldを取得します。
var fi = value.GetType().GetField(value.ToString());
// Fieldから値を取得し返します。
return (int)fi.GetValue(null);
}
使用例
public void OnClick()
{
int value = EncodeType.ShiftJis.Value();
}
{
int value = EncodeType.ShiftJis.Value();
}
わざわざintでキャストしなくても取れるようになりました。