У меня есть класс перечислимую ...Создайте пользовательский атрибут DisplayAttribute для перечислений?
public enum LeadStatus : byte
{
[Display(Name = "Created")] Created = 1,
[Display(Name = "Assigned")] Assigned = 2,
....
}
Name
, конечно, вне коробки. От МЕТАДАННЫЕ ...
namespace System.ComponentModel.DataAnnotations
{
public sealed class DisplayAttribute : Attribute
{
...
public string Name { get; set; }
...
}
}
Предположим, что я хотел, чтобы мой собственный пользовательский дисплей атрибуции, такие как «BackgroundColor» ...
[Display(Name = "Created", BackgroundColor="green")] Created = 1
Я видел несколько других потоков здесь своего рода танец вокруг но контекст достаточно разный, что я не могу заставить его работать. Я предполагаю, что мне нужно создать класс расширения/переопределения, но я не представляю этого в своей голове.
Спасибо!
Создание атрибута очень просто. просто наследуйте свой собственный класс от атрибута. позже вы можете извлечь информацию об атрибутах из членов перечисления. –
Простите меня ... но «легко» может означать разные вещи для разных людей! –
эй, пожалуйста, взгляните на ответ еще раз и скопируйте пасту. это будет работать. обратите внимание, что пространства имен важны, потому что вы хотите скрыть исходный 'DisplayAttribute' и использовать свои собственные. –