как я могу использовать оператор switch для безопасного шаблона перечисления type-

Я нашел красивый пример реализации перечислений другим способом. Я думаю, это называется 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#?
Спасибо.

17
задан Fer 11 April 2012 в 05:32
поделиться