R, показанной выше: Однако в большинстве случаев сгенерированный xml- файл содержит комментарии к внутренним структурам, которые пользователям не нужно или нельзя видеть. Ниже я напишу, как автоматически очистить xml- файл так, чтобы в нем остались только описания к публичным методам. Я не буду подробно рассматривать все xml- теги, а лишь попробую кратко описать наиболее часто используемые. Тег summary служит для краткого описания назначения класса, интерфейса, перечисления (enum), методов и свойств класса или интерфейса и членов перечисления.
Тег param позволяет описать параметр, принимаемый функцией. Этот тег нужно использовать для каждого принимаемого параметра. Тег returns используется для описания возвращаемого значения функции. Тег value полезен для описания значения, которое принимает и/или возвращает некоторое свойство.
В некотором смысле тег value является аналогом тега returns./// < summary> /// Gets the font ascent./// < /summary> /// < value> The font ascent.< /value> /// < remarks> Ascent is the maximum height above the baseline reached/// by glyphs in this font, excluding the height of glyphs for/// accented characters.< /remarks> public short Ascent. Этот тег можно использовать практически везде кроме описания членов перечисления. На самом деле для членов перечисления тоже можно, но в документации, оформленной в стиле vs. Приведу еще несколько практических замечаний/рекомендаций.
Скачайте и установите расширение для Visual Studio под названием Ghost. Doc. Это расширение работает во всех версия студии (начиная с версии 2. По нажатию на Ctrl- Shift- D это расширение вставляет описание сущности, на которой в данный момент стоит курсор. Вставляются все необходимые теги, и генерируется текст описания на основе, например, названия метода и названия его параметров. Часто остается лишь откорректировать и дополнить сгенерированный текст.
Недостаток написания документации прямо в коде в том, что комментариев порой больше, чем кода, что может сильно затруднять чтение кода. Для обхода этой проблемы очень удобным оказывается полное разделение публичного интерфейса и реализации. Если у вас есть несколько перегруженных методов, то при генерации документации для них будет создана отдельная страница (вот пример такой страницы). Текст для этой страницы нужно указать в теге overloads в описании одного из перегруженных методов./// < summary> /// Saves the font bytes to the specified stream./// < /summary> /// < param name=.
Частичную спецификацию и отсутствующий префикс можно использовать, например, для ссылок между двумя методами одного класса или между двумя сущностями одного пространства имен (namespace). Пример использования частичной спецификации (Pdf. Font. Embed. Style находится в одном пространстве имен с Pdf. Font): public sealed class Pdf. Font. Примеры полной спецификации: ссылка на свойство< see cref=.
Можно сэкономить ручной труд, если копировать полные спецификации из ранее скомпилированного xml- файла. Со ссылками на группу перегруженных методов связана одна неприятность. Visual Studio требует, чтобы такие ссылки были вида O: XXX. YYY, в то время как Sandcastle Help File Builder требует, чтобы такие ссылки были вида Overload: XXX.
YYY. Для решения этой проблемы я использую простой скрипт, который вызывается на Post- build event и заменяет в xml- файле O: на Overload: , что вполне терпимо. Для ссылки на некоторую внешнюю статью вашей документации (не связанную с описанием API) или на некоторый ресурс в Интернет используйте старый добрый тег < a> с атрибутом href. Например, < a href = . В первом примере имя документа с внешней статьей представлено в форме “TOPIC. О том, что такое topic id, речь пойдет далее. Более глубоко ознакомиться с документированием кода с помощью xml комментариев можно в этих статьях: Генерируем файл документации. После того, как xml- описание вашего компонента готово, можно сгенерировать файл документации.
Я предпочитаю для этого использовать связку Sandcastle + Sandcastle Help File Builder (SHFB). Замечу, что некоторым больше по душе Doc. Project. Для этого требуется: Скачать и установить Sandcastlesandcastle. Скачать и установить Sandcastle Help File Buildershfb. Скачать и применить патч для стилей, используемых Sandcastlesandcastlestyles.
Если у вас возникнут проблемы со сборкой документации в формате HTML Help, то нужно проверить, что itircl. Обычно эта dll лежит в System. Подробнее написано тут: frogleg. Приступаем к сборке документации в формате chm. Для этого запускаем Sandcastle Help File Builder и настраиваем Project Properties.
В свойстве “Component. Configurations” можно настроить дополнительные компоненты, используемые при сборке. Если вы не знаете, какие компоненты вам могут быть нужны, то можно выбрать все компоненты. В любом случае я рекомендую всегда использовать Intelli. Sense Component, так как он автоматически создает копию входного xml- файла, очищенную от всех непубличных комментариев.