Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Параметры конструктора для атрибутов

Параметры конструктора для атрибутов

Мы видим, что атрибут [Obsolete] может принимать нечто похожее на параметр конструктора. Если вы посмотрите на формальное определение атрибута [Obsolete] в окне определения программного кода Visual Studio 2005, то увидите, что данный класс действительно предлагает конструктор, получающий System.String.

public sealed сlass ObsoleteAttribute: System.Attribute {
 public bool IsError { get; }
 public string Message { get; }
 public ObsoleteAttribute(string message, bool error);
 public ObsoleteAttribute(string message);
 public ObsoleteAttribute();
}

Когда вы указываете параметры конструктора для атрибута, атрибут не размещается в памяти до тех пор, пока эти параметры не отобразятся другим типом или внешним программным средством. Строки, определенные на уровне атрибута, просто запоминаются в компоновочном блоке, как часть метаданных.

Оглавление книги


Генерация: 1.296. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз