Attribute
Свой атрибут - класс
NoteAttribute : Attribute.
Чтение метаданных -
Attribute.GetCustomAttribute
и родственные методы. Обзор
синтаксиса -
атрибут.
Синтаксис
class NoteAttribute : Attribute
{
}
Пример
Давайте пометить класс
Note:
using System;
[AttributeUsage(AttributeTargets.Class)]
class NoteAttribute : Attribute
{
}
[Note]
class Holder
{
}
class Program
{
static void Main()
{
bool res = typeof(Holder).IsDefined(typeof(NoteAttribute), false);
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте получить атрибут через
GetCustomAttribute:
using System;
[AttributeUsage(AttributeTargets.Class)]
class NoteAttribute : Attribute
{
}
[Note]
class Holder
{
}
class Program
{
static void Main()
{
Attribute item = Attribute.GetCustomAttribute(
typeof(Holder),
typeof(NoteAttribute));
bool res = item is NoteAttribute;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте проверить базовый тип
NoteAttribute:
using System;
class NoteAttribute : Attribute
{
}
class Program
{
static void Main()
{
bool res = typeof(NoteAttribute).IsSubclassOf(typeof(Attribute));
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
Атрибут,
синтаксис скобок -
AttributeUsage,
ограничение целей -
AllowMultiple,
несколько раз -
Inherited,
наследование