मैं सी # टिप्पणियों में पात्रों से कैसे बचूं?


112

मुझे आज एहसास हुआ कि मुझे पता नहीं है कि C # के लिए टिप्पणियों में पात्रों से कैसे बचा जा सकता है। मैं एक सामान्य C # वर्ग का दस्तावेज बनाना चाहता हूं, लेकिन मैं एक उचित उदाहरण नहीं लिख सकता क्योंकि मुझे नहीं पता कि कैसे <और >पात्रों से बचना है । क्या मुझे उपयोग करना है &lt;और &gt;? मुझे पसंद नहीं है अगर ऐसा है, क्योंकि मैं वास्तविक दस्तावेज़ में टिप्पणी को पढ़ना आसान बनाना चाहता हूं, इसलिए मुझे उदाहरण कोड को पढ़ने में सक्षम होने के लिए किसी प्रकार के कोड दस्तावेज़ को उत्पन्न करने की आवश्यकता नहीं है।


1
क्या आप एक उदाहरण टिप्पणी दिखा सकते हैं?
BoltClock


1
@ मर्क: आप सही कह रहे हैं, लेकिन यह केवल एक्सएमएल नहीं है ... मैं जेनरिक के लिए एक उदाहरण लिखने की कोशिश कर रहा था जो एक्सएमएल नहीं है लेकिन यह '<' और '>' का उपयोग करता है। लेकिन समाधान दोनों के लिए समान है।
टॉमस जॅन्सन

C ++, Java, C # ... में टेम्प्लेट की लोकप्रियता को देखते हुए Microsoft के पास आधे बेक्ड एक्सिडिमलिमिटर का उपयोग करने के लिए क्या संभव बहाना है? स्पष्टता और दूरदर्शिता की सामान्य कमी।
रिक ओ'शिह

जवाबों:


141

यदि आपको XML टिप्पणियों में वर्णों से बचने की आवश्यकता है, तो आपको वर्ण संस्थाओं का उपयोग करने की आवश्यकता है, इसलिए आपके प्रश्न के अनुसार, इससे <बचने की आवश्यकता होगी &lt;

भागने का विकल्प CDATAसमान प्रभाव के लिए वर्गों का उपयोग कर रहा है।

जैसा कि आपने उल्लेख किया है, यह अच्छे दिखने वाले दस्तावेज का उत्पादन करेगा, लेकिन पढ़ने के लिए एक भयानक टिप्पणी ...


19
सिर्फ संदर्भ के लिए <होगा &lt;और >होगा &gt;। एक उदाहरण के रूप में,List&lt;string&gt; myStringList = new List&lt;string&gt;();
अरवो बोवेन

@ArvoBowen शायद ज़रुरत किसी की स्पष्ट याद आ रही है, lt/ gtक्रमश: "कम से कम" / "इससे अधिक" के लिए खड़े हैं।
लुकास जुहरीक

1
दिलचस्प है, केवल <साथ भागने की जरूरत है &lt;, >जैसा है वैसा ही रह सकता है List&lt;string> myStringList = new List&lt;string>();:। कम से कम यह इंटेलीजेंस में काम करता है। अजीब तरह से पर्याप्त है, CDATA इंटेलीजेंस में काम नहीं करता है। मैंने यह नहीं देखा कि यह ऑटो-जेनरेट किए गए डॉक्स में कैसे दिखता है।
पीटर हुबर

पुष्टि कर सकता है कि वीएस 2013 CDATAइंटैलिजेंस में प्रस्तुत नहीं करता है । &lt;टिप्पणी को पढ़ने के लिए कठिन बनाता है।
एलेक्स

52

सादे सी # टिप्पणियों में आप किसी भी चरित्र का उपयोग कर सकते हैं ( */यदि आपने टिप्पणी शुरू की है /*, या यदि आप के साथ टिप्पणी शुरू की है, तो नए चरित्र को छोड़कर //)। यदि आप XML टिप्पणियों का उपयोग कर रहे हैं, तो आप '<' और '>' वर्णों को शामिल करने के लिए CDATA अनुभाग का उपयोग कर सकते हैं ।

C # में XML टिप्पणियों के बारे में अधिक जानकारी के लिए इस MSDN ब्लॉग लेख को देखें ।


उदाहरण के लिए

/// <summary>
/// Here is how to use the class: <![CDATA[ <test>Data</test> ]]>
/// </summary>

12
आप शायद सही हैं यदि आप एचटीएमएल-डॉक्यूमेंट्स को अच्छी तरह से जनरेट करना चाहते हैं, लेकिन मैं वीएस सही में इंटैलिजेंस युक्तियां प्राप्त करने के बारे में अधिक दिलचस्प हूं, और इसके लिए ऐसा लगता है कि मुझे एक्सएमएल से बचने का उपयोग करना होगा। लेकिन विकल्प के लिए +1।
टॉमस जैनसन

2
हम्म, गैरकानूनी मशीन कचरा मेरी टिप्पणियों में केवल तभी मदद करता है जब हम अपनी दस्तावेज़ फ़ाइल बनाने में समय लेते हैं जब विशाल, विशाल, विशाल (क्या मैंने विशाल का उल्लेख किया है?) अधिकांश उपयोग के मामले स्रोत में टिप्पणियां पढ़ रहे हैं (अधिमानतः एक इंटरफ़ेस) ।
रिक ओ'शिआ

19

आपने कहा "मैं वास्तविक दस्तावेज़ में टिप्पणी को पढ़ना आसान बनाना चाहता हूं"। मैं सहमत हूँ।

डेवलपर्स अपने जीवन का अधिकांश भाग कोड में बिताते हैं , न कि ऑटो-जेनरेट किए गए डॉक्स के लिए। वे तीसरे पक्ष के पुस्तकालयों के लिए महान हैं जैसे चार्टिंग, लेकिन इन-हाउस विकास के लिए नहीं जहां हम सभी कोड के साथ काम करते हैं। मैं हैरान हूँ कि MSFT एक समाधान के साथ नहीं आया है जो डेवलपर्स को यहां बेहतर समर्थन करता है। हमारे पास ऐसे क्षेत्र हैं जो गतिशील रूप से / पतन कोड का विस्तार करते हैं ... हमारे पास टॉगल (कच्चे पाठ और संसाधित XML टिप्पणी के बीच या कच्चे पाठ और संसाधित HTML टिप्पणी के बीच) में इन-प्लेस टिप्पणी क्यों नहीं हो सकती है ?। लगता है जैसे मुझे अपनी विधि / वर्ग प्रस्तावना टिप्पणियों (लाल पाठ, इटैलिक, आदि) में कुछ प्राथमिक एचटीएमएल क्षमताएं होनी चाहिए। निश्चित रूप से एक आईडीई इनलाइन टिप्पणियों को प्राप्त करने के लिए थोड़ा एचटीएमएल प्रसंस्करण जादू काम कर सकता है।

मेरा हैक-ऑफ--सॉल्यूशन समाधान : मैं '<' को "{" और ">" से "}" में बदलता हूं। यह मुझे विशिष्ट उदाहरण उपयोग शैली टिप्पणी के लिए कवर करने के लिए लगता है, जिसमें आपका विशिष्ट उदाहरण शामिल है। अपूर्ण, लेकिन व्यावहारिक। दी गई पठनीयता का मुद्दा (और IDE टिप्पणी रंग के साथ समस्याएं जो '<' का उपयोग करते समय सुनिश्चित करता है)


5
आपका "हैक ऑफ़ सॉल्यूशन" आपके विचार से अधिक सही प्रतीत होता है। इसके अनुसार संकलक पहचानकर्ता कर्ली कोष्ठक के रूप में घुंघराले होते हैं और उन्हें सही ढंग से बांधते हैं
रबरडक

8

XML में C # XML टिप्पणी लिखी गई है, इसलिए आप सामान्य XML भागने से बचेंगे।

उदाहरण के लिए...

<summary>Here is an escaped &lt;token&gt;</summary>

5

मैंने पाया है कि इस समस्या का एक हल करने योग्य समाधान दो उदाहरणों सहित है: XML टिप्पणियों में एक मुश्किल से पढ़ने वाला संस्करण w / एस्केप अक्षर, और पारंपरिक //टिप्पणियों का उपयोग करके एक और पठनीय संस्करण ।

सामान्य लेकिन प्रभावी।


0

{...} का उपयोग करने से बेहतर ≤ ... less का उपयोग कर रहा है (साइन से कम या बराबर है, साइन से अधिक या बराबर है, यू 2264 और यू 2265 यूनिकोड में है)। रेखांकित कोण कोष्ठक जैसा दिखता है लेकिन फिर भी निश्चित रूप से कोण कोष्ठक! और केवल अपने कोड फ़ाइल में कुछ बाइट्स जोड़ता है।


0

इससे भी बेहतर प्रयास करें U2280 और U2281 - यूनिकोड वर्णों की सूची से कॉपी और पेस्ट करें (गणितीय ऑपरेटर अनुभाग)।


यूनिकोड संचालक ठीक हैं, जब वे वास्तविक गणितीय ऑपरेटरों का प्रतिनिधित्व करने के लिए उपयोग किए जाते हैं, यदि वे कोड स्निपेट में उपयोग किए जाते हैं, तो वे एक टिप्पणी (जैसे List<int>) में होते हैं। कोड स्निपेट को कॉपी-पेस्ट करने वाले उदाहरण के बारे में सोचें।
पैलेक

क्या आप इसका उपयोग कर एक टिप्पणी में इसका उदाहरण प्रदान कर सकते हैं? यूनिकोड वर्णों का वास्तव में कभी उपयोग नहीं किया गया
क्लेमेंटवैल्टर

1
ऊपर वर्णित चरित्र को कॉपी और पेस्ट करें।
पॉल कूलसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.