2009-04-27 13 views
48

ネームスペースにxml-docを記述しますか?そして、はいの場合、どのように、どこで?ネームスペースのXMLドキュメント

それは多分、このようなほとんど空のファイル頂ければ、と思うだろう:

/// <summary> 
/// This namespace contains stuff 
/// </summary> 
namespace Some.Namespace 
{ 

} 

れますが、その仕事?あなたは... "宣言"しているか、少なくとも他のファイルにもネームスペースを使用しています...そして、同じ名前空間上の別の場所にxml-documentationを書いた場合、どうなりますか?誰か行ってもらえませんか?あるいは、彼らは何とかマージされますか?

答えて

32

たNdoc各名前空間にある特別NamespaceDocクラスを認識し、そしてそれからドキュメントを使用してこれをサポートしています。私はそれを試していないが、サンドキャッスルは同じトリックをサポートするように見えます。

編集:たとえば

namespace Some.Namespace 
{ 
    /// <summary> 
    /// This namespace contains stuff 
    /// </summary> 
    public static class NamespaceDoc 
    { 
    } 
} 
+0

だから、NamespaceDocは直接ですか?私は各ディレクトリに1つ入れて、それでは一種ですか?それぞれについてコメントをするには... – Svish

+0

ええ、私の答えに例を貼り付けます。 –

+3

内部ではなくpublicを使用すると、このクラスがヘルプにも表示されますが、これは悪いです。 –

24

サンドキャッスルが直接NamespaceDocをサポートしていませんが、あなたはティム言及NamespaceDocクラスを使用することができますSandcastle Help File Builder使用している場合。

また、SCHBは構文をわずかに拡張し、コード例をコードファイルから直接埋め込むことができます。例_Namespace.xml:

<?xml version="1.0" encoding="utf-8" ?> 
<Documentation> 
    <summary> 
    <h1 class="heading">Example Namespace</h1> 
    <para> 
     This namespace is used in the following way: 
    </para> 

    <code source="Examples\Class.cs" lang="cs"></code> 
    <code source="Examples\Class.vb" lang="vbnet"></code> 

    <para> 
     Hopefully this helps! 
    </para> 
    </summary> 
</Documentation> 

XMLファイル内のドキュメントなどを使用すると、コードやヘルプファイル用に別のXMLファイルが大きく説明に短い要約を書くことができます。このようにして、コードはすべての詳細で煩雑にならず、読みやすいままです。

+0

興味深いのは... "Documentation/*"をパスとして使用するのはなぜですか? – Svish

+0

ああ。これは_Namespace.xmlに対するXPath式です。すべてのドキュメントを同じXM​​Lファイルに保存し、パスに基づいてこれらのドキュメントを含めることができます。 path = 'Documentation/Namespace/*'などです。サンプルXMLはルートタグ 'Documentation/*'を使用します。クラス固有のため、パスにはルートタグのすべてが含まれています。 –

0

Monoのドキュメントシステムmdocを使用している場合は、ns - *。xmlドキュメントファイルを編集して名前空間のメンバーをドキュメント化できます。

詳細については、mdoc file format documentationを参照してください。

12

サンドキャッスルヘルプファイルビルダーは名前空間に関するコメントをサポートしています。 Sandcastleプロジェクトを開きます。 Project PropertiesウィンドウでSummariesに移動し、Edit Namespace Summariesボタンをクリックします。

enter image description here

+0

完璧な、ちょうど私が探していた! – Omaer

1

あなたは使用しました。doxygenでそれを行うことができます。

/// <summary> 
/// description 
/// </summary> 
namespace name{}; 

また、NameSpaces.csファイルにあなたの名前空間を宣言し、このファイルのみでそれらをコメントすることをお勧めです。

関連する問題