Код: Выделить всё
public enum UserState {
ACTIVE = 0,
INACTIVE = 1,
MEMORIAL = 2,
APPLICATION = 3,
}
Мне нужно назначить URL-адрес для перенаправления, а также строка с именем состояния
Как мне сохранить все эти два значения в моем перечислении и получить их довольно легко без необходимости объявлять класс Multiples или использовать файлы конфигурации< /p>
Что я пробовал использовать [Описание] Атрибут для хранения
Код: Выделить всё
public enum UserState {
[Description("Active user")]
ACTIVE = 0,
[Description("Inactive user")]
INACTIVE = 1,
[Description("Dead user")]
MEMORIAL = 2,
[Description("Application")]
APPLICATION = 3,
}
Код: Выделить всё
public class UserStateExtension{
public static string GetStateName(UserState actualState)
{
DescriptionAttribute[] descriptionAttributes = (DescriptionAttribute[])actualState
.GetType()
.GetField(actualState.ToString())
.GetCustomAttributes(typeof(DescriptionAttribute), false);
return descriptionAttributes.Length > 0 ? descriptionAttributes[0].Description : string.Empty;
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... in-an-enum