2008-09-23 7 views
11

एक अच्छी छोटी सुविधा होगी जो स्वचालित गुणों जैसे कोड लिखने में तेज़ी से लिखती है VB.NET के मंत्र के साथ बहुत अच्छी तरह से फिट?वीबीएनईटी 9 में स्वचालित गुण क्यों नहीं हैं जैसे सी # 3?

कुछ इस तरह सही काम करेगा:

Public Property FirstName() As String 
    Get 
    Set 
End Property 

अद्यतन: VB.NET 10 (विजुअल स्टूडियो 2010 और .NET 4.0 के साथ आ रहा है) स्वचालित गुण होगा। http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx

इस तरह परिभाषित करता है VB.NET 10 में स्वत: गुण हो जाएगा::

Public Property CustomerID As Integer 

उत्तर

6

एक कारण कई सुविधाओं VB में देरी हो कि विकास संरचना सी # और इसके अलावा, कि अक्सर अधिक सोचा विवरण में चला जाता है की तुलना में बहुत अलग है। इस मामले में Paul Vick's post द्वारा सुझाए गए अनुसार, इस मामले में भी यह सच है। यह दुर्भाग्यपूर्ण है क्योंकि इसका मतलब कई मामलों में देरी (स्वचालित गुण, इटेटरेटर विधियों, मल्टीलाइन लैम्बडास, नाम पर कुछ है) लेकिन दूसरी ओर, वीबी डेवलपर्स को आमतौर पर लंबे समय तक एक और अधिक परिपक्व विशेषता मिलती है (देखकर चर्चा, यह इटेटरेटर विधियों के लिए विशेष रूप से सच होगी)।

तो, लम्बी कहानी कम: (! उम्मीद है कि) वीबी 10 स्वत: गुण देखेंगे।

+8

मुझे नहीं लगता कि V # से अधिक सुविधा लागू होने से पहले VB.NET को और अधिक सोचा जाता है। मुझे लगता है कि सिर्फ मामला नहीं है। –

+0

मैं यह नहीं कह रहा हूं कि सी # डेवलपर्स कम सावधान हैं; मैं कह रहा हूं कि उत्पादन चक्र तेज है और सुविधाओं को भाषा में पेश किया जाता है और फिर बाद में अपग्रेड किया जाता है। यह निश्चित रूप से इटरेटर विधियों के साथ मामला है (उन्हें पुन: प्रयास करने का प्रयास करें!) और शायद स्वचालित गुण। –

+0

@ कोनराड: वीबी में इटरेटर विधियां? कहा पे? कब? –

1

C# और VB.NET बिल्कुल नया पर लाइन अप में नहीं आता यह लिंक है जिसे सुविधा के बारे में एक छोटे से जानकारी से पता चलता है उनके पहले संस्करणों में विशेषताएं। आमतौर पर, अगले संस्करण सी # द्वारा कुछ VB.NET सुविधाओं और इसके विपरीत के साथ पकड़ता है। मैं वीबीएनईटी से शाब्दिक एक्सएमएल की तरह हूं, और उम्मीद करता हूं कि वे इसे सी # में जोड़ दें।

3

आप थोड़ा जल्दी गुण ऐसा करने के लिए, कोड के टुकड़े की कोशिश करना चाहते हैं। टाइप: संपत्ति और "y" टाइप करने के बाद, टैब कुंजी दबाएं :-)।

मुझे पता है इस विशेष सवाल का जवाब नहीं है, लेकिन क्या वीबी टीम बशर्ते आप देता है ...

1

वहाँ कोई विशेष कारण वास्तव में है। यह हमेशा ऐसा ही रहा है कि जब भी वीबी.नेट और सी # समान रूप से शक्तिशाली होने के लिए कहा जाता है (और उचित होने के लिए, वे हैं) उनके वाक्यविन्यास और कुछ संरचनाएं कभी-कभी भिन्न होती हैं। आपके पास भाषाओं पर काम कर रहे दो अलग-अलग विकास दल हैं, इसलिए ऐसा कुछ है जो आप होने की उम्मीद कर सकते हैं।

+0

भाषाएं * समान रूप से शक्तिशाली हैं; एमएस द्वारा प्रदान किए गए टूल्स कार्यक्षमता में भिन्न होते हैं। – hometoast

5

यह vb.net में दर्द बिंदु के रूप में भी बड़ा नहीं था, क्योंकि दृश्य स्टूडियो स्वचालित रूप से आपके लिए संपत्ति के कंकाल कोड का 9 0% बना देगा जबकि सी # के साथ आपको इसे सभी टाइप करना होगा।

2

मैं जानता हूँ कि इस पोस्ट पुरानी है तो आप पहले से ही पता हो सकता है लेकिन वीबी बनाम के अगले संस्करण में ऑटो गुण हो रही है

पर response to feedback और Channel9 आधार पर।

-3

vb में स्वत: गुणों की आवश्यकता नहीं है स्वचालित संपत्ति का उपयोग करके रियायत एक है कि आप गेट और सेट को संशोधित नहीं कर सकते हैं।

आप न उन की आवश्यकता है, सिर्फ एक सार्वजनिक डेटा फ़ील्ड बनाते हैं।

वीबी के पास वर्षों से स्वचालित गुण हैं। उन्होंने उन्हें कुछ और कहा।

+0

सी # में सार्वजनिक क्षेत्र भी हैं। और वे किसी भी भाषा में स्वचालित गुण नहीं हैं - एक अंतर है। –

+1

यह गलत है। फ़ील्ड और गुण बहुत ही अलग चीजें हैं। –

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