キーで列挙値を返す拡張メソッドを作成したいと考えています。使用法は
LifeCycle.GetLifeCycle(1)
または LifeCycle.GetLifeCycleByValue("")
これが私が考えたことです-次の列挙型があるとしましょう:
public enum LifeCycle
{
Pending = 0,
Approved = 1,
Rejected = 2,
}
そして、getByint ケース用に次の拡張機能を作成しました。
public static class EnumerationExtensions
{
private static Dictionary<int, LifeCycle> _lifeCycleMap = Enum.GetValues(typeof(LifeCycle)).Cast<int>().ToDictionary(Key => Key, value => ((LifeCycle)value));
public static LifeCycle GetLifeCycle(this LifeCycle lifeCycle, int lifeCycleKey)
{
return _lifeCycleMap[lifeCycleKey];
}
}
ここのところ
LifeCycle.GetLifeCycle(1)
コンパイルしません。
それは可能ですか?