Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Троелсен Э. Язык программирования С# 2010 и п...docx
Скачиваний:
113
Добавлен:
21.09.2019
Размер:
6.92 Mб
Скачать

Атрибуты уровня компоновочного блока (и уровня модуля)

Можно также задать применение атрибутов ко всем типам в рамках данного модуля или всех модулей в рамках данного компоновочного блока, если, соответственно, использовать признаки [module:] или [assembly:]. Предположим, что нам нужно гарантировать, чтобы каждый открытый тип, определенный в нашем компоновочном блоке, был CLS-допустимым. Для этого в любой из файлов исходного кода C# нужно добавить следующую строку (заметьте, что атрибуты уровня компоновочного блока должны быть указаны за пределами контекста определения пространства имен).

// Требование CLS-совместимости для всех открытых типов

// в данном компоновочном блоке.

[assembly:System.CLSCompliantAttribute(true)]

Если теперь добавить фрагмент программного кода, который выходит за пределы спецификации CLS (например, элемент данных без знака)

// Типы ulong не согласуется с CLS.

public class Winnebago {

 public ulong notCompliant;

}

то будет сгенерирована ошибка компиляции.

Файл AssemblyInfo.Cs в Visual Studio 2005

По умолчанию Visual Studio 2005 генерирует файл с именем AssemblyInfo.cs (рис. 12.9).

Рис. 12.9. Файл AssemblyInfo.cs

Этот файл является удобным местом для хранения атрибутов, которые должны применяться на уровне компоновочного блока. В табл. 12.4 приводится список некоторых атрибутов уровня компоновочного блока, о которых вам следует знать.

Исходный код. Проект AttributedCarLibrary размещен в подкаталоге, соответствующем главе 12.

Таблица 12.4. Некоторые атрибуты уровня компоновочного блока

Атрибут

Описание

AssemblyCompanyAttribute

Содержит общую информацию о компании

AssemblyCopyrightAttribute

Содержит информацию об авторских правах на продукт или компоновочный блок

AssemblyCultureAttribute

Дает информацию о параметрах локализации или языках, поддерживаемых компоновочным блоком

AssemblyDescriptionAttribute

Содержит описание продукта или модулей, из которых состоит компоновочный блок

AssemblyKeyFileAttribute

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

AssemblyOperatingSystemAttribute

Обеспечивает информацию о том, на поддержку какой операционной системы рассчитан компоновочный блок

AssemblyProcessorAttribute

Обеспечивает информацию о том, на поддержку какого процессора рассчитан компоновочный блок

AssemblyProductAttribute

Обеспечивает информацию о продукте

AssemblyTrademarkAttribute

Обеcпечивает информацию о торговой марке

AssemblyVersionAttribute

Указывает информацию версии компоновочного блока, в формате‹главный.дополнительный.компоновка:вариант