Другой вариант - использовать Класс перечисления , созданный Джимми Богардом .
По сути, вы должны создать класс, который наследуется от его Enumeration
.Пример:
public class EmployeeType : Enumeration
{
public static readonly EmployeeType Manager
= new EmployeeType(0, "Manager");
public static readonly EmployeeType Servant
= new EmployeeType(1, "Servant");
public static readonly EmployeeType Assistant
= new EmployeeType(2, "Assistant to the Regional Manager");
private EmployeeType() { }
private EmployeeType(int value, string displayName) : base(value, displayName) { }
// Your method...
public override string ToString()
{
return $"{value} - {displayName}!";
}
}
Затем вы можете использовать его как перечисление, с возможностью помещать в него методы (среди прочего):
EmployeeType.Manager.ToString();
//0 - Manager
EmployeeType.Servant.ToString();
//1 - Servant
EmployeeType.Assistant.ToString();
//2 - Assistant to the Regional Manager
Вы можете скачать егос NuGet .
Хотя эта реализация не является родной для языка, синтаксис (конструирование и использование) довольно близок к языкам, которые реализуют перечисления изначально лучше, чем C # ( Kotlin например).