मैं vb.net के लिए काफी नया हूं, और खिड़कियां पूरी तरह से विकास का निर्माण करती हैं, इसलिए यह सब बहुत बुनियादी हो सकता है, लेकिन यहां जाता है।vb.net में रूपों के लिए कस्टम कन्स्ट्रक्टर: सर्वोत्तम प्रथाओं
मैं किसी अन्य रूप से एक नया फॉर्म खोलना चाहता हूं, और कुछ चयनित ऑब्जेक्ट को उस फ़ॉर्म के नियंत्रण से नए रूप में पास करना चाहता हूं। ऐसा करने का समझदार तरीका, मैंने सोचा, फॉर्म कन्स्ट्रक्टर के लिए पैरामीटर के रूप में था। अब मुझे पता है कि विजुअल स्टूडियो जीयूआई मेरे रूपों के लिए आंशिक कक्षाएं बनाता है, जो गुणों को पकड़ते हैं जिन्हें मैं डिजाइनर में खींच सकता हूं। मुझे लगता है कि यह एक डिफ़ॉल्ट कन्स्ट्रक्टर भी रखता है। चूंकि यह सामान के सभी प्रकार के उस रूप आरंभ करने की जरूरत है क्या कर सकते हैं, मैं समझ रहा आला
public sub new(byval my_parameter as Foo)
Me.new()
Me.my_parameter = my_parameter
do_some_initialisation()
end sub
कि स्पष्ट रूप से यह नहीं था मेरे कस्टम निर्माता से फोन करना चाहिए, क्योंकि यह एक डिफ़ॉल्ट निर्माता नहीं मिल सकता है । बात यह है कि, विजुअल स्टूडियो जेनरेटेड कन्स्ट्रक्टर को देखने से रोकने के लिए बहुत बड़ी लंबाई में जाता है, इसलिए मुझे पता है कि इसे कैसे एक्सेस किया जाए। इससे मुझे विश्वास होता है कि मैं वास्तव में इसे गलत कर रहा हूं, और किसी अन्य पथ पर सेट होना चाहिए था, क्योंकि जिस मार्ग को आप आमतौर पर मजबूर कर रहे हैं वह समझदारी करने योग्य चीज है, जिसे मैं सामान्य रूप से बहुत देर से ढूंढता हूं।
तो मुझे ऐसा कुछ कैसे करना चाहिए?
brevitas – Martijn
नीचे aswer के साथ इस Combinding के +1: अगर मैं 'MyBase.New()' कहते हैं, मैं अभी भी कॉल करने के लिए है 'InitializeComponent()'? – Martijn
डिफ़ॉल्ट रूप कन्स्ट्रक्टर सामान्य रूप से इसे कॉल करता है। टीबीएच आप कोड ठीक है अगर आप सिर्फ me.new() लाइन को हटा दें। मैं बस दिखा रहा था कि बेस कन्स्ट्रक्टर को सही तरीके से कैसे कॉल करें। –