2009-04-27 14 views
48

क्या आप नामस्थान के लिए xml-doc लिखेंगे? और यदि हां, कैसे और कहाँ?नामस्थान के लिए एक्सएमएल-प्रलेखन

मैं, लगता होगा अगर यह इस तरह एक लगभग खाली फ़ाइल संभव है, हो सकता है:

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

} 

लेकिन होगा कि काम करता है? चूंकि आप ... "घोषित करें", या कम से कम अन्य सभी फ़ाइलों में नामस्थान का उपयोग करें ... और क्या होगा यदि आपने एक ही नामस्थान पर कहीं और एक XML-दस्तावेज़ चीज़ लिखा है? क्या कोई चलेगा? या वे किसी भी तरह विलय किया जाएगा?

उत्तर

32

NDoc एक विशेष NamespaceDoc प्रत्येक नाम स्थान में स्थित वर्ग को पहचानने, और कहा कि से प्रलेखन का उपयोग करके इस का समर्थन करता है। मैंने कोशिश नहीं की है, लेकिन Sandcastle एक ही चाल का समर्थन करने के लिए प्रतीत होता है।

संपादित करें: उदाहरण के लिए:

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

तो, नेमस्पेसडॉक सीधे? क्या मैं प्रत्येक निर्देशिका में एक प्रकार का रखता हूं? उनमें से प्रत्येक के लिए टिप्पणी करने के लिए ... – Svish

+0

हाँ, मेरे उत्तर में एक उदाहरण पेस्ट करेगा। –

+3

आंतरिक के बजाय सार्वजनिक का उपयोग करने से इस वर्ग को सहायता में भी दिखाई दे सकता है जो खराब है। –

24

सैंडकैसल सीधे NamespaceDoc का समर्थन नहीं करता, लेकिन अगर आप का उपयोग Sandcastle Help File Builder आप NamespaceDoc वर्ग टिम ने उल्लेख उपयोग कर सकते हैं।

namespace Example 
{ 
    /// <summary> 
    /// <para> 
    ///  Summary 
    /// </para> 
    /// </summary> 
    /// <include file='_Namespace.xml' path='Documentation/*' /> 
    internal class NamespaceDoc 
    { 
    } 
} 

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> 

एक्सएमएल फ़ाइल में प्रलेखन शामिल करने से आपको मदद फ़ाइल के लिए एक अलग एक्सएमएल फ़ाइल में कोड और बड़ा वर्णन में संक्षिप्त सारांश लिखने के लिए अनुमति देता है। इस तरह कोड सभी विवरणों से अव्यवस्थित नहीं है और आसानी से पठनीय रहता है।

+0

Iiinteresting ... पथ के रूप में "दस्तावेज़ीकरण/*" क्यों? – Svish

+0

ओह। यह _Namespace.xml के लिए एक XPath अभिव्यक्ति है। सभी दस्तावेजों को एक ही एक्सएमएल फ़ाइल में स्टोर करना संभव है और इन्हें इन्हें अपने पथ पर आधारित करें, यानी। पथ = 'दस्तावेज़ीकरण/नेमस्पेस/*' आदि। उदाहरण एक्सएमएल रूट टैग 'दस्तावेज़ीकरण/*' का उपयोग करता है और वर्ग विशिष्ट है इसलिए पथ में रूट टैग के अंदर सबकुछ शामिल है। –

0

यदि Mono का mdoc प्रलेखन प्रणाली का उपयोग कर, तो आप ns - *। Xml दस्तावेज़ फ़ाइलों को संपादित करके नामस्थान सदस्यों को दस्तावेज़ कर सकते हैं।

अधिक जानकारी के लिए mdoc file format documentation देखें।

12

Sandcastle सहायता फ़ाइल निर्माता नामस्थानों पर टिप्पणियों का समर्थन करता है। अपनी Sandcastle परियोजना खोलें। Project Properties विंडो में Summaries पर नेविगेट करें और Edit Namespace Summaries बटन पर क्लिक करें।

enter image description here

+0

बिल्कुल सही, बस मैं क्या देख रहा था! – Omaer

1

आप का उपयोग Doxygen में कर सकते हैं:

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

इसके अलावा, यह एक NameSpaces.cs फ़ाइल में अपने नामस्थान ऐलान करते हैं और उन्हें केवल इस फ़ाइल में टिप्पणी करने के लिए एक अच्छा अभ्यास है।

संबंधित मुद्दे