Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1402 of 1492 menu
◀ ▶

Атрибут

Атрибут пишут в квадратных скобках перед объявлением. Свой класс наследует Attribute. Суффикс Attribute в скобках можно опустить: [Note] вместо [NoteAttribute].

Синтаксис

[Note] class Sample { }

Пример

Давайте пометить класс и проверить наличие атрибута:

using System; [AttributeUsage(AttributeTargets.Class)] class NoteAttribute : Attribute { } [Note] class Sample { } class Program { static void Main() { bool res = typeof(Sample).IsDefined(typeof(NoteAttribute), false); Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте прочитать атрибут через отражение:

using System; [AttributeUsage(AttributeTargets.Class)] class NoteAttribute : Attribute { } [Note] class Sample { } class Program { static void Main() { NoteAttribute note = (NoteAttribute)Attribute.GetCustomAttribute( typeof(Sample), typeof(NoteAttribute)); bool res = note != null; Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте сравнить имя типа атрибута и короткую запись:

using System; [AttributeUsage(AttributeTargets.Class)] class NoteAttribute : Attribute { } class Program { static void Main() { string res = typeof(NoteAttribute).Name; Console.WriteLine(res); } }

Результат выполнения кода:

"NoteAttribute"

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить