Кратко съдържание



страница21/73
Дата21.07.2018
Размер8.57 Mb.
1   ...   17   18   19   20   21   22   23   24   ...   73

Инструментът ILDASM


Всяка програма на С# се компилира до междинен език IL (Intermediate Language). Microsoft предоставя стандартен инструмент за разглеждане на този, генериран от компилаторите на С#, код. Това е инструментът Microsoft .NET Framework Disassembler (ILDASM). С тази деасембли­раща про­гра­ма можем да отворим всяко .NET асембли и да разгледаме неговите пространства от имена, класове, типове и код.

Инструментът ildasm.exe е стандартна част от Microsoft .NET Framework SDK. Обикновено .NET Framework SDK идва заедно с Visual Studio .NET и се намира в директория C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin. Нека илюстрираме как се използва той. За целта трябва да изпълним следните стъпки:



  1. Стартираме командния интерпретатор cmd.exe:

    Start | Programs | Accessories | Command Prompt

  2. Отиваме в директорията, където се намира компилираната прог­рама, например, програмата от предходния пример Digits.exe:

    cd "C:\DotNet-course-lectures\Lecture-2-Introduction-to-CSharp\Demo-3-Digits\bin\Debug"

  3. Извикваме от командната линия инструмента ILDASM (ildasm.exe) и му подаваме като параметър компилираната програма Digits.exe:

    ildasm Digits.exe

  4. Навигирайки по дървото, което ILDASM показва за асемблито Digits.exe, можем да видим как изглежда MSIL кодът за конструк­тора на класа Digits и за метода му Main():


XML документация в C#


XML документацията в C# програмите представлява съвкупност от комен­тари, започващи с ///. Тя може да съдържа различни XML тагове – напри­мер, таг описващ връщана стойност на метод, таг за препратки към други методи и др. Като идея XML документацията прилича на JavaDoc в Java.

XML документацията значително улеснява поддръжката – документацията е част от кода, а не стои във външен файл. Поддържа се лесно и ползата от нея е видима още при разработката на приложението – Visual Studio .NET показва краткото описание на даден метод, ако той е документиран чрез вградената XML документация, при задействане на IntelliSense. C# компилаторът може да извлича XML документацията като XML файл за по-нататъшна обработка.

Ето пример за използване на XML документация:

///

/// The main entry point for the application.

///

///
The command line arguments


static void Main(string[] args)

{

// ...


}
/// Calculates the square of a number

///
The number to calculate


/// The calculated square

/// Thrown when the

/// result is too big to be stored in an int

///

public static int square(int num)

{

// ...


}

Тагове в XML документацията


Ето по-важните тагове, използвани в XML документацията в C#:

  • – кратко описание за какво се отнася даден тип, метод, свойство и т.н. Visual Studio .NET показва това описание при задействане на IntelliSense.

  • подробно описание на даден тип, метод, свойство и т.н. Visual Studio .NET показва това описание в областта Object Browser.



  • – описание на един от параметрите на даден метод.

  •  – описание на връщаната от даден метод стойност.

  • > – описание на изключение, което може да възникне в даден метод.

  •  – препратка към информация, свързана с текущото описание.

  •  – описание на свойство (property).

Извличане на XML документация от C# сорс код


Сега ще покажем как чрез C# компилатора може да се извлече докумен­тацията от C# файл в отделен XML файл. Нека имаме следната програма на C#, която използва XML документация:

MainClass.cs

using System;
namespace XMLCommentsDemo

{

///



/// MainClass is a sample illustrating how to use XML

/// documentation in C#.

///

class MainClass

{

///

Calculates the square of a number



///
The number to calculate

/// The calculated square

/// Thrown when the

/// result is too big to be stored in an int

///

public static int Square(int num)

{

checked


{

return num*num;

}

}
///



/// The main entry point for the application.

///

///
The command line arguments

static void Main(string[] args)

{

Console.WriteLine("3*3 = " + Square(3));



}

}

}



За да извлечем документацията от тази програма, трябва да изпълним следните стъпки:

  1. Стартираме командния интерпретатор cmd.exe:

    Start | Programs | Accessories | Command Prompt

  2. Отиваме в директорията, където се намира сорс кода на програмата. Нека тя е Demo-6-XML-Comments:

    cd "C:\DotNet-course-lectures\Lecture-2-Introduction-to-CSharp\Demo-6-XML-Comments"

  3. Извикваме компилатора на C#, за да компилира файла MainClass.cs, като му задаваме опцията за извличане на XML доку­ментацията в отделен файл:

    csc MainClass.cs /doc:MainClassComments.xml

  4. Отваряме получения .xml файл с Internet Explorer, за да разгледаме съдържанието му.

Ето как полученият XML файл:

MainClassComments.xml







MainClass







MainClass is a sample illustrating how to use XML

documentation in C#.







Calculates the square of a number

The number to calculate




The calculated square

Thrown when

the result is too big to be stored in an int









The main entry point for the application.




The command line arguments









Генериране на HTML документация от VS.NET


Сега ще покажем как чрез Visual Studio .NET може да се генерира HTML документация за даден проект на C# по XML коментарите в неговия сорс код. Във вид на HTML документацията е много по-удобна за четене и разглеждане.

За целта трябва да изпълним следните стъпки:



  1. Отваряме с Visual Studio .NET проект, в който сме използвали XML документиране, например проекта Demo-6-XML-Comments.sln, който съдържа кода от предходния пример.

  2. От меню Tools избираме Build Comment Web Pages…. Указваме директория, където да се генерира HTML документацията, и натискаме бутона [OK]. Visual Studio .NET ще генерира в посочената директория съвкупност от HTML файлове, които доку­ментират нашия проект и съдържат XML коментарите от сорс кода му, подре­дени в подходящ за разглеждане вид.

  3. Разглеждаме HTML документацията, която Visual Studio .NET е гене­ри­рал. Можем да навигираме по пространствата от имена, типовете от проекта и отделните му методи:


1   ...   17   18   19   20   21   22   23   24   ...   73


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница