Я нашел красивый пример реализации перечислений другим способом. Я думаю, это называется type-safe enum pattern . Я начал использовать его, но понял, что не могу использовать его в операторе switch.
Моя реализация выглядит следующим образом:
public sealed class MyState
{
private readonly string m_Name;
private readonly int m_Value;
public static readonly MyState PASSED= new MyState(1, "OK");
public static readonly MyState FAILED= new MyState(2, "ERROR");
private MyState(int value, string name)
{
m_Name = name;
m_Value = value;
}
public override string ToString()
{
return m_Name;
}
public int GetIntValue()
{
return m_Value;
}
}
Что я могу добавить в свой класс, чтобы иметь возможность использовать этот шаблон в операторах switch в C#?
Спасибо.