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

Компиляция кода

Чтобы скомпилировать пример, введите следующую команду из командной строки:

csc XMLsample.cs /doc:XMLsample.xml

При этом создается XML-файл XMLsample.xml, который можно просмотреть в обозревателе или с помощью команды TYPE.

Надежное программирование

XML–документация начинается с ///. При создании нового проекта мастера добавляют некоторые начальные строки ///. Обработка этих комментариев имеет некоторые ограничения:

  • Документация должна представлять собой XML с правильным форматом. Если формат XML неверен, то выдается предупреждение, и файл документации будет содержать комментарий о том, что произошла ошибка.

  • Разработчики могут создавать свои собственные наборы тегов. Здесь представлен рекомендуемый набор тегов. Некоторые рекомендуемые теги имеют специальное значение.

    • Тег <param> используется для описания параметров. При его использовании компилятор должен убедиться в том, что параметр существует, и что все параметры описаны в документации. При сбое проверки компилятор выдает предупреждение.

    • Атрибут cref может быть вложен в любой тег для предоставления ссылки на элемент кода. Компилятор проверит наличие этого элемента кода. При сбое проверки компилятор выдает предупреждение. Компилятор учитывает любые операторы using при поиске типа, описанного в атрибуте cref.

    • Тег <summary> используется технологией IntelliSense в Visual Studio для отображения дополнительных сведений о типе или члене.

Примечание.

Файл XML не содержит полную информацию о типе и членах (например, он не содержит никаких сведений о типе). Чтобы получить полную информацию о типе или члене, необходимо использовать файл документации вместе с отражением на текущий тип или член.

Application Domains

Application domains provide a flexible and secure method of isolating running applications.

Application domains are usually created and manipulated by run-time hosts. Occasionally, you may want your application to programmatically interact with your application domains, for example, to unload a component without having to stop your application from running.

Application domains aid security, separating applications from each other and each other's data. A single process can run several application domains, with the same level of isolation that would exist in separate processes. Running multiple applications within a single process increases server scalability.

In the following code example, you create a new application domain and then load and execute a previously built assembly, HelloWorld.exe, that is stored on drive C.

static void Main()

{

// Create an Application Domain:

System.AppDomain newDomain = System.AppDomain.CreateDomain("NewApplicationDomain");

// Load and execute an assembly:

newDomain.ExecuteAssembly(@"c:\HelloWorld.exe");

// Unload the application domain:

System.AppDomain.Unload(newDomain);

}

Application Domains Overview

Application domains have the following properties:

  • An assembly must be loaded into an application domain before it can be executed.

  • Faults in one application domain cannot affect other code running in another application domain.

  • Individual applications can be stopped and code unloaded without stopping the entire process. You cannot unload individual assemblies or types, only entire application domains.