2010-06-25 5 views
6

मैंने कुछ विरासत (इसलिए वीबीएनईटी) यूनिट परीक्षणों को दोबारा प्रतिक्रिया करते हुए संकलन त्रुटि को फेंक दिया था, जहां मैं एमबीयूनीट में नमूना इनपुट में से किसी एक को सिर्फ टिप्पणी करना चाहता था:क्या VB.NET टिप्पणी-आउट लाइनों पर लाइन निरंतरता की अनुमति नहीं देता है?

<RowTest> _ 
'<Row("Something")> _ 
<Row("SomethingElse")> _ 

जो दिया गया:

Attribute specifier is not a complete statement. Use a line continuation to apply the 
attribute to the following statement. 

क्या यह वास्तव में एक वास्तविक रेखा के रूप में व्हाइटस्पेस/टिप्पणी-आउट लाइन का इलाज कर रहा है? आम तौर पर, जब मैं वीबीएनईटी के बारे में सोचता हूं, तो मैं इसे पेश करता हूं, "अब, मैं लड़का बनना नहीं चाहता हूं, लेकिन ..." यह उन मामलों में से एक जैसा लगता है जहां मुझे नहीं पता जवाब, अगर मैं सही हूँ। लेकिन मुझे पता है कि इस मामले में, जवाब जानना चाहते हैं।

+3

यह उन चीजों में से एक है जिसे हम वर्षों से ठीक करने के लिए माइक्रोसॉफ्ट से पूछ रहे हैं। शायद किसी दिन ... –

+0

मुझे लगता है कि यदि आप '_' * पहले *' '' जोड़ते हैं तो आप सुरक्षित रूप से लाइन पर टिप्पणी कर सकते हैं। तो जब आप इसे टिप्पणी करना चाहते हैं तो एक निरंतर लाइन की शुरुआत में ''' के बजाय '_'' टाइप करें। (सुनिश्चित नहीं है कि '_'' काम करता है।) –

उत्तर

4

हां, जहां तक ​​मैं इसे समझता हूं, समस्या यह है कि आपकी पहली पंक्ति निरंतरता पहली पंक्ति के हिस्से के रूप में टिप्पणी की गई रेखा को जोड़ती है, और फिर टिप्पणी लाइन पर लाइन निरंतरता चरित्र को अनदेखा कर दिया जाता है क्योंकि यह इसका हिस्सा है एक टिप्पणी तो यह जा रहा है समाप्त होता है:

<RowTest> '<Row("Something")> _ <-- this line continuation character is ignored since it's commented out. 
<Row("SomethingElse")> _ 

क्या यह एक तरह से एक टिप्पणी एक नई पंक्ति के अलावा अन्य समाप्त करने के लिए होगा, लेकिन यह आम तौर पर एक समस्या नहीं है और के रूप में मुझे लगता है कि यह संकलन को प्रभावित करती है समर्थन करने के लिए की जरूरत होगी गति इत्यादि काफी थोड़ी देर के बाद से इसे सभी टिप्पणियों को पार्स करना होगा, मुझे लगता है कि इसे सार्थक नहीं माना जाता है।

+1

एचएम, यह इस बात को ध्यान में रखता है: http://msdn.microsoft.com/en-us/library/aa711641(VS.71).aspx, जो उस पंक्ति निरंतरता से सहमत है सामान्य सफेद जगह के रूप में माना जाता है। मैं एक वीबी.नेट प्रोग्रामर नहीं हूं, और मेरा ज्ञान ज्यादातर अचूक है। मैं इसे और अधिक इलाज कर रहा था, "यह कथन" से नहीं किया गया है, "प्रीप्रोसेसर: निम्नलिखित नई लाइन को हटा दें।" धन्यवाद! (मैं पार्सर स्पीड टिप्पणी से सहमत हूं) –

0

मेरे पास .[Rem] एक्सटेंशन विधि है जो धाराप्रवाह अभिव्यक्तियों के "टिप्पणी आउट" की अनुमति देने के लिए है। आप एक ही काम करने के लिए [Rem] विशेषता बना सकते हैं।

<Row> _ 
<[Rem]("<Row(""Something"")> _")> _ 
<RowTest("SomethingElse")> _ 
Sub Main 

End Sub 

' Define other methods and classes here 
<AttributeUsage(AttributeTargets.All, AllowMultiple:=True)> _ 
Class [Rem] 
    Inherits Attribute 
    Public Sub New() 
    End Sub 
    Public Sub New(Comment As String) 
    End Sub 
End Class 
+1

@ डाउनवॉटर क्या आप इस हैक को नापसंद करते हैं, या क्या मैं कुछ ठीक कर सकता हूं? –

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