Атрибуты
Язык С# позволяет создавать атрибуты для различных элементов языка, таких как типы, методы, поля и свойства классов. Данные, хранимые в атрибутах, можно запрашивать во время выполнения приложения. Атрибуты - это механизм, позволяющий создавать самоописывающиеся приложения.
Использование атрибутов позволяет получать метаданные периода выполнения.Каждый атрибут - это экземпляр класса, производного от System.Attribute.
Назначаемый типу или члену класса атрибут указывается в квадратных скобках перед типом или членом класса.
Про атрибут, указанный для класса, иногда говорят, что этот атрибут "прикреплен к целевому типу".
Класс Attribute пространства имен System предоставляет следующие члены класса:
- GetType - получает объект типа Type текущего экземпляра;
- ToString - возвращает строку, описывающую данный объект;
- IsDefined - определяет, существует ли атрибуты заданного типа, назначенные указываемому члену класса;
- GetCustomAttribute - запрашивает атрибут заданного типа для указанного члена класса.
Для класса Attribute определено свойство TypeId, определяющее уникальный идентификатор атрибута.