Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharp_Prog_Guide.doc
Скачиваний:
16
Добавлен:
16.11.2019
Размер:
6.22 Mб
Скачать

Сборки и глобальный кэш сборок

Сборка является основным строительным блоком любого приложения .NET Framework. Например, при создании простого приложения C# в Visual Studio создается сборка в виде одиночного переносимого исполняемого файла (PE) с расширением EXE или DLL.

Сборки содержат метаданные, описывающие их внутренний номер версии и сведения о содержащихся в сборке данных и типах объектов.

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

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

Общие сведения о сборках

Сборки имеют следующие свойства.

  • Сборки реализованы как EXE- или DLL-файлы.

  • Сборки можно поместить в глобальный кэш сборок, чтобы обеспечить их использование несколькими приложениями.

  • В глобальный кэш сборок могут быть включены только сборки со строгими именами.

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

  • Для программного получения сведений о сборках используется класс reflection.

  • Если нужно загрузить сборку только для ее проверки, используйте метод, подобный ReflectionOnlyLoadFrom.

  • Можно использовать две версии одной и той же сборки в одном приложении.

Attributes

Attributes provide a powerful method of associating declarative information with C# code (types, methods, properties, and so forth). After an attribute is associated with a program entity, the attribute can be queried at run time by using a technique called reflection.

Attributes occur in two forms:

  • Attributes that are defined in the common language runtime (CLR).

  • Custom attributes that you can create, to add extra information to your code. This information can later be retrieved programmatically.

In this example, the TypeAttributes..::.Serializable attribute is used to apply a specific characteristic to a class:

[System.Serializable]

public class SampleClass

{

// Objects of this type can be serialized.

}

Attribute Overview

Attributes have the following properties:

  • Attributes add metadata to your program. Metadata is information embedded in your program such as compiler instructions or descriptions of data.

  • Your program can examine its own metadata by using reflection.

  • Attributes are generally used when you interact with COM.

Атрибуты

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

Существует две формы атрибутов.

  • Атрибуты, которые определены в среде CLR.

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

В этом примере для применения определенных характеристик к классу используется атрибут TypeAttributes..::.Serializable.

[System.Serializable]

public class SampleClass

{

// Objects of this type can be serialized.

}