2012-10-19 9 views
5

में इनलाइन LINQ टिप्पणियां क्या VB.NET में LINQ में इनलाइन कोड टिप्पणियां डालने का कोई तरीका है?वीबीएनईटी

कृपया जहां एक इनलाइन टिप्पणी वांछनीय

Dim Jobs = (From X In DB.Jobs_Select(SearchStr, RequiresFilter) 
    Where X.JobStatusID < 2 -- **** INSERT INLINE COMMENT HERE **** 
    Order By 
     X.JobPriorityID Descending, 
     If(X.TargetDate, Date.MaxValue), 
     X.NeedsLit Descending, 
     X.HasOldArtRequests Descending, 
     X.HasOldLicRequests Descending 
    ) 

यह एसक्यूएल कोड में मामूली बात है और स्पष्ट रूप से, बहुत सपा के जटिल हो के रूप में उपयोगी होगा का एक उदाहरण के रूप में नीचे में लाइन 2 देखें। LINQ से SQL में एक ही क्रॉस-डेवलपर संचार करने में सक्षम होना अच्छा होगा।

अद्यतन

यहां आपके लिए एक परीक्षण स्थिति है।

Dim L As New List(Of KeyValuePair(Of Integer, Integer)) 

Dim a = (From X In L 
      Where X.Key > 5 'test comment 
      Order By X.Value) 
+2

क्या यह '' 'के साथ काम नहीं करता है? –

+0

नहीं, उस स्थान पर एक एस्ट्रोफ़े डालने से 15 संकलन त्रुटियां –

+0

@BrianWebster: लाइटर क्वेरी पर मेरे लिए काम करता है। क्या आप किसी ऐसे प्रश्न के साथ प्रश्न अपडेट कर सकते हैं जिसे हम परीक्षण करने के लिए वीएस में पेस्ट कर सकते हैं? – Neolisk

उत्तर

7

ठीक है, यहां आधिकारिक उत्तर है - वीबी में संभव नहीं है। Proof

यह वास्तव में वीबी में परेशान है कि आप मल्टीलाइन LINQ कथन में इनलाइन टिप्पणियां नहीं जोड़ सकते हैं!

और अधिक जानकारी:

बुरी खबर यह है कि इस लागू करने के लिए तुच्छ नहीं होगा है। सिंगल-लाइनों और टिप्पणियों के बारे में सीमाएं वर्तमान वीबी पार्सर में बहुत कम स्तर पर बनाई गई हैं। इसे वीबी पार्सर की पूरी रीराइट की आवश्यकता होगी।

अच्छी खबर यह है कि हमने इस तरह के एक पुनर्लेख (कोडनाम "रोज़लिन" शुरू किया है - इसके बारे में कई लेख और वार्ताएं हुई हैं)। यह अभी भी एक रास्ता है और हम पर इस चरण के बारे में वचनबद्ध नहीं कर रहे हैं।

- लुसियान Wischik, वीबी भाषा अपराह्न

+0

अच्छा खोज, धन्यवाद नव –

+1

मुझे वह समय भी मिला। इसे 3 मिनट पहले नियो के उत्तर में संपादित किया गया। नहीं चाहता कि मैं सीखना चाहता हूं, आखिरकार, लेकिन यह अच्छी जानकारी है। –

+0

@ ब्रायनवेबस्टर: आपका स्वागत है! आशा है कि Roslyn .NET भाषाओं के बीच कुछ समानता लाता है। – Neolisk

0

तो

Where X.JobStatusID < 2 ' **** INSERT INLINE COMMENT HERE **** 

काम नहीं करता है, तो यह संभव नहीं है।

+0

यह वीएस -2010 में काम नहीं करता है। यह केवल तभी काम करता है जब LINQ कथन समाप्त होने के बाद रखा जाता है, लेकिन यही कारण है कि मैं इनलाइन टिप्पणियों के बारे में पूछ रहा हूं –

+1

वाह। वीबी से उम्मीद नहीं की थी। – Alex

+0

@Alex: हाँ, मैं न तो। – Neolisk

1

VB.NET 14 इनलाइन टिप्पणी करने के लिए (link) की क्षमता की शुरुआत की।

आप प्रारंभिक लाइन अभिव्यक्तियों के अंदर, प्रारंभिक अभिव्यक्तियों के अंदर और LINQ अभिव्यक्ति शर्तों के बीच टिप्पणियां डाल सकते हैं।