Принципы объектно-ориентированного программирования




ГЛАВА 8 Атрибуты


    ГЛАВА 8 Атрибуты
    ГЛАВА 8 Атрибуты Что такое атрибуты. Определение атрибутов. Запрос атрибутов. Атрибуты класса. Атрибуты метода. Атрибуты поля. Параметры атрибута. Позиционные и именованные параметры. Распростране...
    Что такое атрибуты
    Что такое атрибуты Атрибуты предоставляют универсальные средства связи данных (в виде аннотаций) с типами, определенными на С#. Вы можете применять их для определения информации периода разработки...
    Определение атрибутов
    Определение атрибутов В предыдущем примере синтаксис прикрепления атрибута к типу или члену похож на тот, что применяется при создании экземпляра класса. Дело в том, что атрибут на самом деле явля...
    HKEY_CURRENT_CONFIG }
    HKEY_CURRENT_CONFIG } public class RegistryKeyAttribute : Attribute { public RegistryKeyAttribute(RegistryHives Hive, String ValueName) { this.Hive = Hive; this.ValueName = ValueNane; protected Re...
    Примечание
    Примечание В приведенных примерах к именам классов атрибутов добавлено слово Attribute. Однако, прикрепляя атрибут к типу или члену, я отбросил этот суффикс. Это одна из возможностей сокращения, в...
    Запрос атрибутов
    Запрос атрибутов Мы знаем, как определять атрибуты В виде производных от System.Attri-bute и как прикреплять их к типу или члену. А что теперь? Как использовать атрибуты при программировании? Коро...
    Атрибуты класса
    Атрибуты класса Способ получения атрибута зависит от типа члена, к которому производится запрос. Допустим, вам нужно узнать атрибут, определяющий удаленный сервер, на котором должен быть создан об...
    Атрибуты метода
    Атрибуты метода Код, применяющий отражение для запроса атрибута метода, отличается от кода для запроса атрибута класса. В этом примере мы зададим атрибут, который будет использован для определения...
    Атрибуты поля
    Атрибуты поля В качестве последнего примера запроса членов как прикрепленных к ним атрибутов мы рассмотрим способ запроса полей класса. Допустим, наш класс содержит поля, значения которых нужно со...
    Параметры атрибута
    Параметры атрибута В вышеприведенном примере я рассказал об использовании прикрепленных атрибутов с помощью их конструкторов. А теперь рассмотрим некоторые вопросы, связанные с конструкторами атри...
    Позиционные и именованные параметры
    Позиционные и именованные параметры В примере FieldAttrApp (см. выше) вы могли видеть атрибут с именем RegistryKeyAttribute. Его конструктор имел такой вид: public RegistryKeyAttribute(RegistryHiv...
    Распространенные ошибки при использовании именованных параметров
    Распространенные ошибки при использовании именованных параметров Используя именованные параметры, вы должны указать сначала позиционные параметры. После этого именованные параметры можно указать в...
    Допустимые типы параметров атрибутов
    Допустимые типы параметров атрибутов Типы позиционных и именованных параметров класса атрибута ограничены следующим набором: bool, byte, char, double, float, int, long, short, string; System. Type...
    Атрибут AttributeUsage
    Атрибут AttributeUsage Кроме пользовательских параметров, которые вы задаете для аннотации обычных типов С#, с помощью атрибута AttributeUsage можно определить способ применения этих атрибутов. Со...
    Определение целевого типа атрибута
    Определение целевого типа атрибута А сейчас снова взгляните на атрибут AttributeUsage из предыдущего раздела. Заметьте: параметр validon является позиционным и, естественно, обязательным. Он позво...
    Атрибуты однократного и многократного использования
    Атрибуты однократного и многократного использования AttributeUsage позволяет задать атрибуты для одно- и многократного применения. Это определит, как много раз один атрибут может быть задействован...
    Задание правил наследования атрибутов
    Задание правил наследования атрибутов Последний параметр атрибута Attribute Usage — флаг inherited — определяет, может ли атрибут наследоваться. Его значение по умолчанию равно false. Если же уста...
    Идентификаторы атрибутов
    Идентификаторы атрибутов Взгляните на следующий код и попробуйте определить, что аннотирует атрибут — возвращаемое значение или метод: class MyClass { [HRESULT] public long Foo(); } Если у вас ест...
    Подведем итоги
    Подведем итоги Атрибуты С# предоставляют механизм аннотирования типов и членов в период разработки информацией, которая позже может быть получена в период выполнения посредством отражения (reflect...








Начало