Сборки. Атрибуты

Содержание

Слайд 2

Сборка

Сборка является базовой структурной единицей в .NET, на уровне которой

Сборка Сборка является базовой структурной единицей в .NET, на уровне которой проходит
проходит контроль версий, развертывание и конфигурация приложения.

Слайд 3

Состав сборки

Манифест, который содержит метаданные сборки.
Метаданные типов. Используя эти метаданные, сборка определяет

Состав сборки Манифест, который содержит метаданные сборки. Метаданные типов. Используя эти метаданные,
местоположение типов в файле приложения, а также места размещения их в памяти
IL-код
Ресурсы

Слайд 4

Дополнительные сведения о сборке

Сборки реализованы как EXE- или DLL-файлы.
Сборки можно поместить в

Дополнительные сведения о сборке Сборки реализованы как EXE- или DLL-файлы. Сборки можно
глобальный кэш сборок, чтобы обеспечить их использование несколькими приложениями. В глобальный кэш сборок могут быть включены только сборки со строгими именами.
Сборки загружаются в память только по мере необходимости. Если сборки не используются, они не загружаются.
Для программного получения сведений о сборках используется класс reflection.

Слайд 5

Манифест сборки

Ключевым компонентом сборки является ее манифест. Если у сборки отсутствует манифест,

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

Слайд 6

Состав манифеста

Имя сборки
Номер версии: основной и дополнительный номера. Используется для управления версиями
Язык

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

Слайд 7

Директивы

Директива – это указание компилятору языка С# выполнить то или иное действие

Директивы Директива – это указание компилятору языка С# выполнить то или иное
в момент компиляции программы.
Список директив:
#define #error #import #undef #elif #if
#include #using #else #ifdef #line #endif
#ifndef #pragma

Слайд 8

Размещение директивы

Знак решетки (#) должен быть первым не пробельным символом в строке,

Размещение директивы Знак решетки (#) должен быть первым не пробельным символом в
содержащей директиву; между знаком решетки и первой буквой директивы пробельные символы допускаются.
Любой текст, следующий после директивы (за исключением аргумента или значения, представляющих собой часть директивы), должен предваряться разделителем однострочного комментария (//) или заключаться в разделители комментариев (/* */).

Слайд 9

Директива #region #endregion

Директива #region позволяет указать блок кода, который можно разворачивать и

Директива #region #endregion Директива #region позволяет указать блок кода, который можно разворачивать
сворачивать с помощью функции структурирования в редакторе кода Visual Studio.

Слайд 10

Директива #define

Директива #define позволяет определить символ, который при передаче его директиве #if

Директива #define Директива #define позволяет определить символ, который при передаче его директиве
как выражения приведет к получению значения true.
Также можно определить символ с помощью параметра компилятора /define. Для отмены определения символа служит директива #undef.

Слайд 11

Директива #if

При обнаружении компилятором директивы #if, за которой далее следует директива #endif,

Директива #if При обнаружении компилятором директивы #if, за которой далее следует директива
компиляция кода между двумя директивами выполняется только в том случае, если определен указанный символ.

Слайд 12

Пример использования

#define DEBUG
// ...
#if DEBUG
Console.WriteLine("Debug version");
#endif

Пример использования #define DEBUG // ... #if DEBUG Console.WriteLine("Debug version"); #endif

Слайд 13

Атрибуты

Атрибуты обеспечивают эффективный способ связывания метаданных или декларативной информации с кодом (сборками,

Атрибуты Атрибуты обеспечивают эффективный способ связывания метаданных или декларативной информации с кодом
типами, методами, свойствами и т. д.). Атрибуты расширяют в программе сведения в метаданных.
Один или несколько атрибутов могут применяться к сборкам, модулям или более мелким программным элементам, таким как классы и свойства.
Атрибуты могут принимать аргументы.
Программа может проверить собственные метаданные или метаданные в других программах с помощью рефлексии.

Слайд 14

Использование атрибутов

Атрибуты могут быть размещены в большинстве объявлений, хотя определенный атрибут может

Использование атрибутов Атрибуты могут быть размещены в большинстве объявлений, хотя определенный атрибут
ограничить типы объявлений, в которых он допустим. В C++ атрибут задается путем размещения его имени, заключенного в квадратные скобки ([]), перед объявлением сущности.

Слайд 15

Целевой объект атрибута

Целевым объектом атрибута является сущность, к которой относится атрибут.
Например,

Целевой объект атрибута Целевым объектом атрибута является сущность, к которой относится атрибут.
атрибут может относиться к классу, отдельному методу или целой сборке. По умолчанию атрибут относится к тому элементу, перед которым он указан.
Имя файла: Сборки.-Атрибуты.pptx
Количество просмотров: 72
Количество скачиваний: 0