Практическое руководство. Использование XML-документации (Руководство по программированию в C#)
Следующий пример предоставляет основной обзор типа, который был документирован.
Пример
// If compiling from the command line, compile with: /doc:YourFileName.xml
/// <summary>
/// Class level summary documentation goes here.</summary>
/// <remarks>
/// Longer comments can be associated with a type or member through
/// the remarks tag.</remarks>
public class TestClass : TestInterface
{
/// <summary>
/// Store for the name property.</summary>
private string _name = null;
/// <summary>
/// The class constructor. </summary>
public TestClass()
{
// TODO: Add Constructor Logic here.
}
/// <summary>
/// Name property. </summary>
/// <value>
/// A value tag is used to describe the property value.</value>
public string Name
{
get
{
if (_name == null)
{
throw new System.Exception("Name is null");
}
return _name;
}
}
/// <summary>
/// Description for SomeMethod.</summary>
/// <param name="s"> Parameter description for s goes here.</param>
/// <seealso cref="System.String">
/// You can use the cref attribute on any tag to reference a type or member
/// and the compiler will check that the reference exists. </seealso>
public void SomeMethod(string s)
{
}
/// <summary>
/// Some other method. </summary>
/// <returns>
/// Return results are described through the returns tag.</returns>
/// <seealso cref="SomeMethod(string)">
/// Notice the use of the cref attribute to reference a specific method. </seealso>
public int SomeOtherMethod()
{
return 0;
}
public int InterfaceMethod(int n)
{
return n * n;
}
/// <summary>
/// The entry point for the application.
/// </summary>
/// <param name="args"> A list of command line arguments.</param>
static int Main(System.String[] args)
{
// TODO: Add code to start application here.
return 0;
}
}
/// <summary>
/// Documentation that describes the interface goes here.
/// </summary>
/// <remarks>
/// Details about the interface go here.
/// </remarks>
interface TestInterface
{
/// <summary>
/// Documentation that describes the method goes here.
/// </summary>
/// <param name="n">
/// Parameter n requires an integer argument.
/// </param>
/// <returns>
/// The method returns an integer.
/// </returns>
int InterfaceMethod(int n);
}
Компиляция кода
Чтобы компилировать примере введите следующую командную строку:
csc XMLsample.cs /doc:XMLsample.xml
Это создает XML-файл XMLsample.xml, которое можно просмотреть в браузере или с помощью команды ТИПА.
Отказоустойчивость
XML–документация начинается с ///.При создании нового проекта мастера некоторые линии помещаются начальных in ///.Обработка этих комментариев имеет некоторые ограничения:
Документация должна представлять собой XML с правильным форматом.Если XML с правильным форматом, что формируется предупреждение и файл документации будет содержать комментарий, который указывает на то, что возникла ошибка.
Разработчики могут создавать свои собственные наборы тегов.Рекомендуемый набор тегов (см. раздел более дальнейший чтения).Некоторые рекомендуемые теги имеют специальное значение.
Тег <param> используется для описания параметров.При его использовании компилятор должен убедиться в том, что параметр существует и что все параметры описаны в документации.Если проверка завершилась неудачно, то компилятор выдает предупреждение.
Атрибут cref может быть присоединен к любому тегу для предоставления ссылки на элемент кода.Компилятор проверяет, что данный элемент кода существует.Если проверка завершилась неудачно, то компилятор выдает предупреждение.Компилятор учитывает любые операторы using при поиске типа, описанного в атрибуте cref.
Тег <summary> используется технологией IntelliSense в Visual Studio для отображения дополнительных сведений о типе или члене.
Примечание XML-файл не содержит полную информацию о типе и элементах (например, он не содержит никаких сведений о типе).Чтобы получить полную информацию о типе или члене, необходимо использовать файл документации вместе с отражением на текущий тип или член.
См. также
Ссылки
/doc (параметры компилятора C#)
Комментарии к XML-документации (Руководство по программированию на C#)