Создание пользовательских атрибутов

Создание пользовательских атрибутов

Первым шагом процесса построения пользовательского атрибута является создание нового класса, производного от System.Attribute. В продолжение автомобильной темы, используемой в этой книге, мы создадим новую библиотеку классов C# с именем AttributedCarLibrary. Соответствующий компоновочный блок определит группу транспортных средств (определения некоторых из них, мы уже увидели выше), и при их описании будет использован пользовательский атрибут VehiсleDescriptionAttribute,

// Пользовательский атрибут.

public sealed class VehicleDescriptionAttribute: System.Attribute {

 private string msgData;

 public VehicleDescriptionAttribute(string description) { msgData = description; }

 public VehicleDescriptionAttribute() {}

 public string Description {

  get { return msgData; }

  set { msgData = value; }

 }

}

Как видите, VehicleDescriptionAttribute поддерживает приватную внутреннюю строку (msgData), значение которой можно установить с помощью пользовательского конструктора, а изменять - с помощью свойства типа (Description). Кроме того, что этот класс является производным от System.Attribute, его определение ничем особенным больше не отличается,

Замечание. С точки зрения безопасности рекомендуется, чтобы все пользовательские атрибуты…NET создавались, как изолированные классы.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

7.2.6. Создание пользовательских цепочек в таблице filter

Из книги Iptables Tutorial 1.1.19 автора Andreasson Oskar

7.2.6. Создание пользовательских цепочек в таблице filter Итак, у вас перед глазами наверняка уже стоит картинка движения пакетов через различные цепочки, и как эти цепочки взаимодействуют между собой! Вы уже должны ясно представлять себе цели и назначение данного сценария.


Создание пользовательских исключений, раз…

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Создание пользовательских исключений, раз… Всегда есть возможность генерировать экземпляр System.Exceptiоn, чтобы сигнализировать об ошибке времени выполнения (как показано в нашем первом примере), но часто бывает выгоднее построить строго типизированное исключение, которое


Создание пользовательских исключений, два…

Из книги Word 2007.Популярный самоучитель автора Краинский И

Создание пользовательских исключений, два… Тип CarIsDeadException переопределяет свойство System.Exception.Message, чтобы установить пользовательское сообщение об ошибке. Однако задачу можно упростить, установив родительское свойство Message через входной параметр конструктора. В


Создание пользовательских исключений, три!

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Создание пользовательских исключений, три! Если вы хотите построить "педантично точный" пользовательский класс исключения, то созданный вами тип должен соответствовать лучшим образцам, использующим исключения .NET. В частности, ваше пользовательское исключение должно


Создание пользовательских индексаторов

Из книги XSLT автора Хольцнер Стивен

Создание пользовательских индексаторов Как программисты, мы прекрасно знаем, что с помощью индексов можно получить доступ к отдельным элементам, содержащимся в стандартном массиве.// Объявление массива целых значений.int[] myInts = {10, 9, 100, 432, 9874};// Использование операции [] для


Создание пользовательских подпрограмм преобразования

Из книги Технология XSLT автора Валиков Алексей Николаевич

Создание пользовательских подпрограмм преобразования В C# есть два ключевых слова, explicit и implicit, предназначенные для управления тем, как типы должны отвечать на попытки преобразования. Предположим, что у нас есть следующие определения структур.public struct Rectangle { // Открыты для


Создание пользовательских обобщенных коллекций

Из книги Программирование на языке Ruby автора Е.А. Роганов, Н.А. Роганова Е.А. Роганов, Н.А. Роганова

Создание пользовательских обобщенных коллекций Итак, пространство имен System.Collections.Generic предлагает множество типов, позволяющих создавать эффективные контейнеры, удовлетворяющие требованиям типовой безопасности. С учетом множества доступных вариантов очень велика


Перспективы отображения, статического и динамического связывания и пользовательских атрибутов

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

Перспективы отображения, статического и динамического связывания и пользовательских атрибутов Даже после множества примеров применения соответствующих подходов вам может быть не ясно, когда же следует использовать отображение, динамическую загрузку, динамическое


Создание пользовательских диалоговых окон

Из книги автора

Создание пользовательских диалоговых окон Теперь, когда вы понимаете роль базовых элементов управления Windows Forms и суть процесса построения пользовательских элементов управления, давайте рассмотрим вопрос создания пользовательских диалоговых окон. Здесь хорошей


Создание пользовательских стилей

Из книги автора

Создание пользовательских стилей Несмотря на то что в каждой версии Word количество заготовленных стилей увеличивается, весьма вероятно, что вы не найдете среди них именно то, что нужно вам в данный момент. По этой причине в Microsoft Word предусмотрена также возможность


Создание пользовательских шаблонов

Из книги автора

Создание пользовательских шаблонов Благодаря шаблонам можно сэкономить много времени. Например, если вы постоянно работаете с какой-нибудь организацией и каждый раз вводите стандартное приветствие, реквизиты и т. д., удобно будет создать собственный шаблон на основе


11.1.2. Создание атрибутов экземпляра

Из книги автора

11.1.2. Создание атрибутов экземпляра Имени атрибута экземпляра в Ruby всегда предшествует знак @. Это обычная переменная в том смысле, что она начинает существовать после первого присваивания.В ОО-языках часто создаются методы для доступа к атрибутам, чтобы обеспечить


2. Модификация и создание пользовательских классов

Из книги автора

2. Модификация и создание пользовательских классов Ruby является объектно-ориентированным языком программирования. Давайте рассмотрим особенности представления классов.Объекты и классыВ реальной жизни все объекты обладают индивидуальными свойствами. Но, введя


Глава 5. Создание пользовательских виджетов

Из книги автора

Глава 5. Создание пользовательских виджетов В данной главе объясняются способы создания пользовательских виджетов с помощью средств разработки Qt. Пользовательские виджеты могут создаваться путем определения подкласса существующего виджета Qt или путем определения