2009-10-08 28 views
5

करने के लिए एक trivially आसान बात ...वीबी.नेट में क्या आप एक आर्बिटरी कोड ब्लॉक कर सकते हैं? शायद

सी # में आप

जैसे में डाल {} द्वारा बस एक ब्लॉक लागू कर सकते हैं। यदि आप x => {var x = "x" जैसे लैम्ब्डा करना चाहते हैं; var y = "y"; }

तो क्या VB.NET में एक दायरा/ब्लॉक पेश करने का कोई तरीका है?

उत्तर

7

हाँ, यह VB.Net

If True Then 
    ... 
End If 

में मनमाने ढंग से लागू करने के लिए ब्लॉक विजुअल स्टूडियो 2008 में ही आप लैम्ब्डा भाव के लिए ऐसा नहीं कर सकते संभव है। Vb.Net केवल विजुअल स्टूडियो 2008 में एकल अभिव्यक्ति लैम्बडा का समर्थन करता है। स्टेटमेंट लैम्ब्डा को विजुअल स्टूडियो 2010 तक नहीं जोड़ा गया था। 2008 संरचनाओं का उपयोग करते हुए ब्लॉक अभिव्यक्ति की उस शैली को लैम्ब्डा में प्राप्त करने का कोई तरीका नहीं है।

+0

यह बदसूरत है, लेकिन यह –

0

बस पाया गया कि आप उपयोग कर सकते हैं: एक ही पंक्ति पर कई कथनों को चेन करने के लिए, और लाइन के अंत में _ आप कई लाइनों में श्रृंखला बना सकते हैं। यकीन नहीं है कि यह एक लैम्ब्डा में काम करता है या नहीं।

फिर भी, नहीं कोड

+0

योग्यता प्राप्त करता है ':' lambdas में काम नहीं करेगा क्योंकि इसका उपयोग बयानों को गठबंधन करने के लिए किया जाता है। 2008 में एक लैम्ब्डा में केवल अभिव्यक्तियां हो सकती हैं – JaredPar

1
Using IndentHelper() 

End Using 

Private Function IndentHelper() As IDisposable 
    Return Nothing 
End Function 

की एक मनमाना ब्लॉक भी काम करता है।

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