VB.NET में Namespaces का उपयोग करना

VB.NET नामस्थान का सबसे सामान्य तरीका सबसे अधिक उपयोग किया जाता है प्रोग्रामर संकलक को बताना है कि किसी विशेष प्रोग्राम के लिए .NET फ्रेमवर्क लाइब्रेरी की आवश्यकता क्या है। जब आप अपनी परियोजना के लिए एक "टेम्पलेट" चुनते हैं (जैसे "विंडोज फॉर्म एप्लीकेशन") चीजों में से एक जो आप चुन रहे हैं, वह नामस्थानों का विशिष्ट सेट है जो स्वचालित रूप से आपके द्वारा संदर्भित किया जाएगा परियोजना। यह आपके प्रोग्राम के लिए उन नामस्थानों में कोड उपलब्ध कराता है।

उदाहरण के लिए, Windows प्रपत्र अनुप्रयोग के लिए कुछ नामस्थान और वास्तविक फ़ाइलें हैं:

System> System.dll में
प्रणाली। डेटा> सिस्टम में। Data.dll
प्रणाली। तैनाती> प्रणाली। Deployment.dll
प्रणाली। आरेखण> प्रणाली। Drawing.dll
प्रणाली। खिड़कियाँ। प्रपत्र> प्रणाली। खिड़कियाँ। Forms.dll

आप प्रोजेक्ट गुण में अपनी परियोजना के लिए नामस्थान और संदर्भ देख सकते हैं (और बदल सकते हैं) संदर्भ टैब।

नामस्थान के बारे में सोचने का यह तरीका उन्हें "कोड लाइब्रेरी" के समान ही प्रतीत होता है, लेकिन यह विचार का केवल एक हिस्सा है। नामस्थानों का वास्तविक लाभ संगठन है।

हम में से अधिकांश को एक नया नामस्थान पदानुक्रम स्थापित करने का मौका नहीं मिलेगा क्योंकि यह आमतौर पर एक बड़े और जटिल कोड लाइब्रेरी के लिए केवल 'शुरुआत में' एक बार किया जाता है। लेकिन, यहाँ, आप सीखेंगे कि कई संगठनों में उपयोग किए जाने वाले नामस्थानों की व्याख्या कैसे करें।

instagram viewer

नाम क्या करते हैं

Namespaces ने दसियों .NET फ्रेमवर्क ऑब्जेक्ट्स और उन सभी ऑब्जेक्ट्स को व्यवस्थित करना संभव बना दिया है जो VB प्रोग्रामर प्रोजेक्ट्स में बनाते हैं, इसलिए भी वे क्लैश नहीं करते हैं।

उदाहरण के लिए, यदि आप एक के लिए .NET खोजते हैं रंग वस्तु, आप दो पाते हैं। वहां एक है रंग दोनों में वस्तु:

प्रणाली। चित्रकारी
प्रणाली। खिड़कियाँ। मीडिया

यदि आप एक जोड़ आयात दोनों नामस्थानों का विवरण (परियोजना संपत्तियों के लिए एक संदर्भ भी आवश्यक हो सकता है) ...

आयात प्रणाली। चित्रकारी
आयात प्रणाली। खिड़कियाँ। मीडिया

... फिर एक बयान की तरह ...

मंद एक रंग

... नोट के साथ एक त्रुटि के रूप में चिह्नित किया जाएगा, "रंग अस्पष्ट है" और .NET यह इंगित करेगा कि दोनों नामस्थानों में उस नाम के साथ एक ऑब्जेक्ट है। इस तरह की त्रुटि को "नाम टक्कर" कहा जाता है।

यह "नेमस्पेस" का असली कारण है और यह अन्य टेक्नॉलॉजी (जैसे एक्सएमएल) में भी इस्तेमाल किया जाता है। Namespaces उसी ऑब्जेक्ट नाम का उपयोग करना संभव बनाता है, जैसे कि रंग, जब नाम फिट बैठता है और फिर भी चीजों को व्यवस्थित रखता है। आप एक परिभाषित कर सकते हैं रंग अपने स्वयं के कोड में ऑब्जेक्ट और इसे .NET (या अन्य प्रोग्रामर के कोड) के लोगों से अलग रखें।

नेमस्पेस माईकलर
सार्वजनिक वर्ग का रंग
उप रंग ()
' कुछ करो
अंत उप
एंड क्लास
अंत नामस्थान

आप भी उपयोग कर सकते हैं रंग इस तरह से अपने कार्यक्रम में कहीं और वस्तु:

नई MyColor के रूप में डिम सी। रंग
सी। रंग()

कुछ अन्य विशेषताओं में शामिल होने से पहले, ध्यान रखें कि हर परियोजना एक नाम स्थान में निहित है। VB.NET आपकी परियोजना के नाम का उपयोग करता है (WindowsApplication1 डिफ़ॉल्ट नाम स्थान के रूप में) यदि आप इसे नहीं बदलते हैं तो एक मानक रूपों के लिए आवेदन। इसे देखने के लिए, एक नया प्रोजेक्ट बनाएं (हमने नाम का उपयोग किया है NSProj और ऑब्जेक्ट ब्राउज़र टूल देखें):

  1. क्लिक करें यहाँ चित्रण प्रदर्शित करने के लिए
  2. दबाएं वापस लौटने के लिए अपने ब्राउज़र पर बटन

ऑब्जेक्ट ब्राउज़र .NET फ्रेमवर्क नेमस्पेस के साथ-साथ आपके नए प्रोजेक्ट नेमस्पेस (और इसमें स्वचालित रूप से परिभाषित ऑब्जेक्ट) को दिखाता है। .NET ऑब्जेक्ट्स के बराबर अपनी वस्तुओं को बनाने के लिए VB.NET की यह क्षमता शक्ति और लचीलेपन की कुंजी है। उदाहरण के लिए, यही कारण है कि जैसे ही आप उन्हें परिभाषित करेंगे इंटेलीसेन्स आपकी खुद की वस्तुओं को दिखाएंगे।

एक पायदान ऊपर किक करने के लिए, आइए एक नई परियोजना को परिभाषित करें (हमने अपना नाम दिया NewNSProj एक ही समाधान में (उपयोग) फ़ाइल > जोड़ना > नया काम ...) और उस परियोजना में एक नया नाम स्थान कोड। और इसे और अधिक मज़ेदार बनाने के लिए, आइए नए नामस्थान को एक नए मॉड्यूल में डालें (हमने इसे नाम दिया NewNSMod). और चूंकि एक ऑब्जेक्ट को एक वर्ग के रूप में कोडित किया जाना चाहिए, इसलिए हमने एक क्लास ब्लॉक (नाम दिया) भी जोड़ा NewNSObj). यहाँ कोड और समाधान एक्सप्लोरर को दिखाया गया है कि यह एक साथ कैसे फिट होता है:

  1. क्लिक करें यहाँ चित्रण प्रदर्शित करने के लिए
  2. दबाएं वापस लौटने के लिए अपने ब्राउज़र पर बटन

चूंकि आपका अपना कोड 'फ्रेमवर्क कोड की तरह' है, इसलिए इसमें एक संदर्भ जोड़ना आवश्यक है NewNSMod में NSProj भले ही वे एक ही समाधान में हों, नामस्थान में ऑब्जेक्ट का उपयोग करने के लिए। एक बार जब आप ऐसा कर लेते हैं, तो आप किसी वस्तु को घोषित कर सकते हैं NSProj में विधि के आधार पर NewNSMod. आपको प्रोजेक्ट को "बनाने" की भी आवश्यकता है ताकि संदर्भ के लिए एक वास्तविक वस्तु मौजूद हो।

डिम ओ अस न्यू न्यून्स्प्रोज। AVBNS.NewNSMod। NewNSObj
ओ। AVBNSMethod ()

वह काफी एक है मंद हालांकि बयान। हम एक का उपयोग करके छोटा कर सकते हैं आयात एक उपनाम के साथ बयान।

आयात NS = NewNSProj। AVBNS.NewNSMod। NewNSObj
...
डिम ओ अस न्यू एन.एस.
ओ। AVBNSMethod ()

रन बटन पर क्लिक करने से प्रदर्शित होता है MsgBox AVBNS नामस्थान से, “अरे! इसने काम कर दिया!"

कब और क्यों नाम स्थान का उपयोग करने के लिए

अब तक सब कुछ वास्तव में सिर्फ किया गया है वाक्य - विन्यास - द कोडिंग नियम जिन्हें आपको नामस्थान का उपयोग करने में पालन करना होगा। लेकिन वास्तव में लाभ लेने के लिए, आपको दो चीजों की आवश्यकता है:

  • पहली जगह नामस्थान संगठन की आवश्यकता। नामस्थानों के संगठन को भुगतान करना शुरू करने से पहले आपको सिर्फ एक "हैलो वर्ल्ड" परियोजना की आवश्यकता है।
  • उनका उपयोग करने के लिए एक योजना।

सामान्य रूप में, माइक्रोसॉफ्ट अनुशंसा करता है कि आप उत्पाद नाम के साथ अपनी कंपनी के नाम के संयोजन का उपयोग करके अपने संगठन का कोड व्यवस्थित करें।

इसलिए, उदाहरण के लिए, यदि आप डॉ। नो की नाक की प्लास्टिक सर्जरी के लिए मुख्य सॉफ्टवेयर वास्तुकार हैं, तो आप अपने नाम स्थान जैसे व्यवस्थित करना चाह सकते हैं ...

drno
परामर्श
ReadTheirWatchNChargeEm
TellEmNuthin
सर्जरी
ElephantMan
MyEyeLidsRGone

यह .NET के संगठन के समान है ...

वस्तु
प्रणाली
कोर
आईओ
LINQ
डेटा
ODBC
Sql

मल्टीलेवल नामस्थान केवल नेमस्पेस ब्लाकों को नेस्ट करने से प्राप्त होते हैं।

नेमस्पेस डीआरएनओ
नेमस्पेस सर्जरी
Namespace MyEyeLidsRGone
'VB कोड
अंत नामस्थान
अंत नामस्थान
अंत नामस्थान

या

नेमस्पेस डीआरएनओ। सर्जरी। MyEyeLidsRGone
'VB कोड
अंत नामस्थान
instagram story viewer