Сохранение нескольких значений в перечисленииC#

Место общения программистов C#
Anonymous
Сохранение нескольких значений в перечислении

Сообщение Anonymous »

У меня есть перечисление различных состояний пользователя в базе данных

Код: Выделить всё

public enum UserState {
ACTIVE = 0,
INACTIVE = 1,
MEMORIAL = 2,
APPLICATION = 3,
}
Мне нужно присвоить несколько значений каждому из этих состояний.
Мне нужно назначить URL-адрес для перенаправления, а также строку с именем состояния.
Как я могу сохранить эти два значения в своем перечислении и получить их без необходимости объявлять несколько классов или использовать файлы конфигурации?
Я пытался использовать атрибут [Description] для его хранения

Код: Выделить всё

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;
}
}
Есть ли способ использовать аналогичный трюк для UrlRedirection?

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-an-enum

Вернуться в «C#»