2009-08-28 3 views
3

Я хочу документировать исходный источник (источники C#), и я использую теги документации XML. Как я могу определить по определенным тегам?Документация C# - Определенные пользователем теги

Например, я использую много предложений Design by Contract. Я хотел бы иметь разделы документации предусловий, Постусловие, инварианты ... Это должно быть desiderable писать документацию, как:

/// <precond>arg != null</precond> 
/// <postcond>return > 0</postcond> 

Поскольку я не XML-гуру, кто-то из вас (гуру) Можете мне посоветовать?

Я попытался использовать < include>, но это невозможно (для меня), чтобы документация была построена правильно.

Большое спасибо

+0

Есть ли причина, по которой вы не могли просто включить эту информацию в '' и '' content? – AnthonyWJones

+0

Да. Простейшее предусловие подразумевает прямое подключение параметров; в этом случае вы правы. Но классы могут быть более сложными, и методы могут быть вызваны только в определенных состояниях классов ... описание его без подстилающих условий перед публикацией может быть очень жалким, особенно когда все мои классы определены с помощью DBC. – Luca

ответ

2

Использование NDoc для составления документации и ее custom tags может быть решением. Одной из проблем с NDoc является то, что разработка была остановлена ​​некоторое время назад.

Sandcastle also supports custom tags, я не уверен, что это работает Sandcastle Builder, хотя если это проблема.

Оба выполняются путем настройки XSL по умолчанию, используемого для его преобразования, например.

<xsl:template match="myTag" mode="seealso-section"> 
    <h1 class="green"> 
     <xsl:value-of select="." mode="slashdoc"/> 
    </h1> 
    </xsl:template>  
    <xsl:template match="null" mode="slashdoc"> 
    <xsl:text> null reference (Nothing in Visual Basic) </xsl:text> 
</xsl:template> 

XML-(csc.exe /doc), который построен компилятор не имеет пространства имен насильственных в тегах, так что вы можете использовать любые тег, вам нравится.

+0

Спасибо. Жаль, что я не использую Visual Studio ... – Luca

+1

Язычники! Свяжите его –

5

Сначала very usefull description, что возможно с комментариями XML.

Следующее, что приложения, создающие вашу документацию, должны быть осведомлены о ваших собственных тегах. В настоящее время я не знаю конструктора документации, который может быть дополнен дополнительными атрибутами или элементами.

+0

Я знаю, как документировать код C#. Вы заявляете, что невозможно охватить теги документации, без, по крайней мере, итерации с документацией, генерирующей программное обеспечение? – Luca

+2

Оба NDoc и Sandcastle поддерживают расширенные теги. NDoc всегда с момента его выпуска –

+0

Ссылка, поддерживающая этот ответ, сломана, и Sandcastle * поддерживает * настройку связанного файла 'main_sandcastle.xsl' для добавления в собственные теги. – atconway

Смежные вопросы