मुझे यह जानकर उत्सुकता है कि (नाम) संपत्ति है, जो फॉर्म क्लास के नाम का प्रतिनिधित्व करती है। इस संपत्ति का उपयोग नामस्थान के भीतर किया जाता है ताकि वर्ग को विशिष्ट रूप से पहचानने के लिए कि फॉर्म एक उदाहरण है और, Visual Basic के मामले में, फ़ॉर्म के डिफ़ॉल्ट उदाहरण तक पहुंचने के लिए उपयोग किया जाता है।VB.Net में प्रत्येक रूप का डिफ़ॉल्ट उदाहरण क्यों है लेकिन सी # में नहीं?
अब जहां यह डिफ़ॉल्ट इंस्टेंस आया है, सी # के पास इसके बराबर विधि क्यों नहीं हो सकती है।
भी उदाहरण सी # में एक रूप को दिखाने के लिए के लिए हम कुछ इस तरह करते हैं:
// Only method
Form1 frm = new Form1();
frm.Show();
लेकिन VB.Net में हम दोनों तरीकों से यह करने के लिए है:
' First common method
Form1.Show()
' Second method
Dim frm As New Form1()
frm.Show()
मेरे प्रश्न इस पहली विधि से आता है। यह
Form1
क्या है, क्या यहForm1
याForm1
कक्षा का एक उदाहरण है? अब जैसा कि मैंने उपरोक्त उल्लेख किया है, फॉर्म नाम VB.Net में डिफ़ॉल्ट उदाहरण है। लेकिन हम यह भी जानते हैं किForm1
Designer
में परिभाषित एक वर्ग है, तो इंस्टेंस और क्लास नाम दोनों के लिए नाम समान कैसे हो सकते हैं? यदिForm1
एक वर्ग है तो शो() नामक कोई (स्टेटिक \ साझा) विधि नहीं है। तो यह विधि कहां से आती है?जेनरेट आईएल में उनके क्या अंतर है?
और अंततः सी # के बराबर क्यों नहीं हो सकता है?
"उत्पन्न आईएल में उनके पास क्या अंतर है": डाउनलोड करें और अपने लिए पता लगाने के लिए .NET परावर्तक का उपयोग करें। यह बेहद उपयोगी और मुफ्त है। –
मैं सी # में यह "फीचर" नहीं चाहता ... यह इस तथ्य को छिपाने के लिए सिर्फ एक चाल है कि आपको इसका उपयोग करने के लिए कक्षा का उदाहरण बनाना होगा। यह वास्तव में एक भयानक विचार है! इसके अलावा, यह बहुत खराब दस्तावेज है, और अप्रत्याशित और खतरनाक साइड इफेक्ट है (उदाहरण के लिए प्रत्येक थ्रेड का अपना "डिफ़ॉल्ट उदाहरण" टी फॉर्म है) –
@ थॉमस लेवेस्क मुझे यह सुविधा नहीं चाहिए .. मैं सिर्फ यह जानना चाहता था कि यह कैसे किया गया और क्या यह संभव है .. :) –