C# Language
XML प्रलेखन टिप्पणियाँ
खोज…
टिप्पणियों
कुछ बार आपको एक्सएमएल टिप्पणियों से विस्तारित पाठ प्रलेखन बनाने की आवश्यकता होती है। दुर्भाग्य से इसके लिए कोई मानक तरीका नहीं है ।
लेकिन कुछ अलग परियोजनाएं हैं जिनका उपयोग आप इस मामले के लिए कर सकते हैं:
सरल विधि एनोटेशन
दस्तावेज़ीकरण टिप्पणियों को उनके द्वारा वर्णित विधि या वर्ग के ऊपर सीधे रखा जाता है। वे तीन फ़ॉरवर्ड स्लैश ///
शुरू होते हैं, और मेटा जानकारी को XML के माध्यम से संग्रहीत करने की अनुमति देते हैं।
/// <summary>
/// Bar method description
/// </summary>
public void Bar()
{
}
टैग के अंदर की जानकारी विजुअल स्टूडियो और अन्य उपकरण जैसे कि IntelliSense जैसी सेवाएं प्रदान करने के लिए उपयोग की जा सकती है:
Microsoft के सामान्य दस्तावेज़ टैग की सूची भी देखें।
इंटरफ़ेस और क्लास प्रलेखन टिप्पणियां
/// <summary>
/// This interface can do Foo
/// </summary>
public interface ICanDoFoo
{
// ...
}
/// <summary>
/// This Bar class implements ICanDoFoo interface
/// </summary>
public class Bar : ICanDoFoo
{
// ...
}
परिणाम
इंटरफ़ेस सारांश
कक्षा सारांश
परम और रिटर्न तत्वों के साथ विधि प्रलेखन टिप्पणी
/// <summary>
/// Returns the data for the specified ID and timestamp.
/// </summary>
/// <param name="id">The ID for which to get data. </param>
/// <param name="time">The DateTime for which to get data. </param>
/// <returns>A DataClass instance with the result. </returns>
public DataClass GetData(int id, DateTime time)
{
// ...
}
IntelliSense आपको प्रत्येक पैरामीटर के लिए विवरण दिखाता है:
युक्ति: यदि Intellisense Visual Studio में प्रदर्शित नहीं होता है, तो पहले ब्रैकेट या कॉमा को हटा दें और फिर इसे टाइप करें।
प्रलेखन टिप्पणियों से XML उत्पन्न करना
कोड में प्रलेखन टिप्पणियों से एक XML प्रलेखन फ़ाइल उत्पन्न करने के लिए, csc.exe
C # संकलक के साथ /doc
विकल्प का उपयोग करें।
Visual Studio 2013/2015 में, प्रोजेक्ट में -> गुण -> बिल्ड -> आउटपुट , XML documentation file
चेकबॉक्स चेक करें:
जब आप प्रोजेक्ट का निर्माण करते हैं, तो कंपाइलर द्वारा प्रोजेक्ट नाम के अनुरूप नाम (जैसे XMLDocumentation.dll
-> XMLDocumentation.xml
) के साथ एक XML फ़ाइल का उत्पादन किया जाएगा।
जब आप किसी अन्य प्रोजेक्ट में असेंबली का उपयोग करते हैं, तो सुनिश्चित करें कि XML फ़ाइल उसी निर्देशिका में है जिसमें DLL संदर्भित किया जा रहा है।
यह उदाहरण:
/// <summary>
/// Data class description
/// </summary>
public class DataClass
{
/// <summary>
/// Name property description
/// </summary>
public string Name { get; set; }
}
/// <summary>
/// Foo function
/// </summary>
public class Foo
{
/// <summary>
/// This method returning some data
/// </summary>
/// <param name="id">Id parameter</param>
/// <param name="time">Time parameter</param>
/// <returns>Data will be returned</returns>
public DataClass GetData(int id, DateTime time)
{
return new DataClass();
}
}
निर्माण पर इस xml का उत्पादन करता है:
<?xml version="1.0"?>
<doc>
<assembly>
<name>XMLDocumentation</name>
</assembly>
<members>
<member name="T:XMLDocumentation.DataClass">
<summary>
Data class description
</summary>
</member>
<member name="P:XMLDocumentation.DataClass.Name">
<summary>
Name property description
</summary>
</member>
<member name="T:XMLDocumentation.Foo">
<summary>
Foo function
</summary>
</member>
<member name="M:XMLDocumentation.Foo.GetData(System.Int32,System.DateTime)">
<summary>
This method returning some data
</summary>
<param name="id">Id parameter</param>
<param name="time">Time parameter</param>
<returns>Data will be returned</returns>
</member>
</members>
</doc>
प्रलेखन में एक और वर्ग का संदर्भ लेना
<see>
टैग का उपयोग दूसरी कक्षा से लिंक करने के लिए किया जा सकता है। इसमें cref
सदस्य होता है जिसमें उस वर्ग का नाम होना चाहिए जिसे संदर्भित किया जाना है। विजुअल स्टूडियो इस टैग को लिखते समय Intellsense प्रदान करेगा और संदर्भित वर्ग का नाम बदलने पर भी ऐसे संदर्भों को संसाधित किया जाएगा।
/// <summary>
/// You might also want to check out <see cref="SomeOtherClass"/>.
/// </summary>
public class SomeClass
{
}
Visual Studio Intellisense पॉपअप में ऐसे संदर्भों को पाठ में रंगीन प्रदर्शित किया जाएगा।
एक सामान्य वर्ग को संदर्भित करने के लिए, निम्नलिखित के समान कुछ का उपयोग करें:
/// <summary>
/// An enhanced version of <see cref="List{T}"/>.
/// </summary>
public class SomeGenericClass<T>
{
}