Документация XML (F#)
Можно создать документацию из комментариев с тремя косыми чертами в коде на языке F#. XML-комментарии могут предшествовать объявлениям в файлах исходного кода (FS) или файлах сигнатуры (FSI).
Создание документации из комментариев
Поддержка создания документации из комментариев в языке F# реализована так же, как и в других языках платформы .NET Framework. Как и в других языках платформы .NET Framework, параметр компилятора -doc позволяет создать XML-файл, информацию из которого можно преобразовать в документацию с помощью специальной программы, например Sandcastle. Документация, созданная с помощью средств, предназначенных для использования со сборками, написанными на других языках платформы .NET Framework, обычно содержит представление интерфейсов API, основанное на скомпилированном виде конструкций языка F#. Если в этих средствах не предусмотрена специальная поддержка языка F#, созданная ими документация не отражает представление интерфейса API на языке F#.
Дополнительные сведения о создании документации из XML-кода см. в разделе Комментарии к XML-документации (Руководство по программированию на C#).
Рекомендуемые теги
Существует два способа написания комментариев для XML-документации. Один — просто писать документацию непосредственно в комментариях, обозначенных тремя косыми чертами, без использования XML-тегов. В таком случае весь текст комментария рассматривается как сводная документация к конструкции кода, которая следует непосредственно за комментарием. Этот способ используют, если требуется написать только краткую сводку по каждой конструкции. Другой способ заключается в использовании XML-тегов для создания более структурированной документации. Этот второй способ позволяет писать отдельные примечания — краткую сводку, дополнительные замечания, документацию для каждого параметра, параметра типа и создаваемых исключений, а также описание возвращаемого значения. В следующей таблице описаны XML-теги, распознаваемые в XML-комментариях к коду на языке F#.
Синтаксис тега |
Описание |
---|---|
<c> текст </c> |
Задает, что текст является кодом. Этот тег может использоваться генераторами документации для отображения текста шрифтом, выбранным для кода. |
<summary> текст </summary> |
Задает, что текст является кратким описанием элемента программы. Описание обычно состоит из одного или двух предложений. |
<remarks> текст </remarks> |
Задает, что текст содержит дополнительные сведения об элементе программы. |
<param name="имя"> описание </param> |
Задает имя и описание параметра функции или метода. |
<typeparam name="имя"> описание </typeparam> |
Задает имя и описание параметра типа. |
<returns> текст </returns> |
Задает, что текст описывает возвращаемое значение функции или метода. |
<exception cref="тип"> описание </exception> |
Задает тип исключения, которое может возникнуть, и обстоятельства, при котором оно возникает. |
<see cref="ссылка"> текст </see> |
Задает встроенную ссылку на другой элемент программы. Ссылка — это имя в том виде, в котором оно отображается в файле XML-документации. Текст — это текст, отображаемый в ссылке. |
<seealso cref="Ссылка "/> |
Задает ссылку вида "См. также" на документацию для другого типа. Ссылка — это имя в том виде, в котором оно отображается в файле XML-документации. Ссылки "См. также" обычно отображаются внизу страницы документации. |
<para> текст </para> |
Задает абзац текста. Используется для разделения текста внутри тега remarks. |
Пример
Описание
Ниже приведен типичный комментарий XML-документации в файле сигнатуры.
Код
/// <summary>Builds a new string whose characters are the results of applying the function <c>mapping</c>
/// to each of the characters of the input string and concatenating the resulting
/// strings.</summary>
/// <param name="mapping">The function to produce a string from each character of the input string.</param>
///<param name="str">The input string.</param>
///<returns>The concatenated string.</returns>
///<exception cref="System.ArgumentNullException">Thrown when the input string is null.</exception>
val collect : (char -> string) -> string -> string
Пример
Описание
В следующем примере приведен альтернативный способ — без XML-тегов. В этом примере весь текст примечания рассматривается как сводка. Обратите внимание, что если не был явно указан тег сводки, не следует указывать другие теги, такие как теги param или returns.
Код
/// Creates a new string whose characters are the result of applying
/// the function mapping to each of the characters of the input string
/// and concatenating the resulting strings.
val collect : (char -> string) -> string -> string