Я пропускаю использование для использования [Display(Name = "string")] в перечислении?

"Тип или имя пространства имен Отображение не может быть найдено... " "Тип или имя пространства имен Имя не может быть найдено..."

public enum MyEnum
{
  [Display(Name = "The First")]
  first = 1,
  [Display(Name = "The Second")]
  second,
  [Display(Name = "The Third")]
  third= 1
}

Я старался [DisplayName("The First")] и это действительно только для класса, свойства метода или события...

Что мне здесь не хватает?

UDPATE: необходимо [Description()] так...

public enum MyEnum
{
  [Description("The First")]
  first = 1,
  [Description("The Second")]
  second,
  [Description("The Third")]
  third= 1
}

2 ответа

Решение

Если кто-то оказывается здесь, потому что он ищет DisplayAttribute, он живет в System.ComponentModel.DataAnnotations Пространство имен. Что сбивает с толку то, что вы можете добавить using директива для этого конкретного пространства имен, и он не будет жаловаться... но он не найдет DisplayAttribute или. Он остается серым, как будто директива не нужна.

Щелкните правой кнопкой мыши "Ссылки" в вашем проекте и выберите "System.ComponentModel.DataAnnotations".

using директива станет черной, а Display атрибут будет распознан.

Вы можете использовать описание.

public enum MyEnum
{
  [Description(Name = "The First")]
  first = 1,
  [Description(Name = "The Second")]
  second =2,
  [DisDescriptionplay(Name = "The Third")]
  third= 1
}
Другие вопросы по тегам