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

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

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 ]

0 голосов
/ 25 января 2019

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

image

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

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

enter image description here

0 голосов
/ 25 января 2019

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

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