मैं C # के विभिन्न पहलुओं की डिफ़ॉल्ट दृश्यता के लिए एक संदर्भ खोजने की कोशिश कर रहा हूं। वर्ग प्रकार, क्षेत्र, विधियाँ, एनम आदि।
क्या कोई अपनी डिफ़ॉल्ट दृश्यता (यानी, कोई उपसर्ग संशोधित संशोधक) के साथ इनमें से एक सूची प्रदान कर सकता है?
मैं C # के विभिन्न पहलुओं की डिफ़ॉल्ट दृश्यता के लिए एक संदर्भ खोजने की कोशिश कर रहा हूं। वर्ग प्रकार, क्षेत्र, विधियाँ, एनम आदि।
क्या कोई अपनी डिफ़ॉल्ट दृश्यता (यानी, कोई उपसर्ग संशोधित संशोधक) के साथ इनमें से एक सूची प्रदान कर सकता है?
जवाबों:
आपके द्वारा ढूंढी जा रही सभी जानकारी यहां और यहां मिल सकती है (धन्यवाद रीड कोपसे ):
पहले लिंक से:
कक्षाएं और संरचनाएं जो सीधे एक नाम स्थान के भीतर घोषित की जाती हैं (दूसरे शब्दों में, अन्य वर्गों या संरचनाओं के भीतर नेस्टेड नहीं हैं) या तो सार्वजनिक या आंतरिक हो सकती हैं। यदि कोई पहुँच संशोधक निर्दिष्ट नहीं है, तो आंतरिक डिफ़ॉल्ट है ।
...
नेस्टेड कक्षाओं और स्ट्रक्चर्स सहित वर्ग के सदस्यों और संरचना सदस्यों के लिए पहुँच स्तर डिफ़ॉल्ट रूप से निजी है ।
...
आंतरिक उपयोग के लिए डिफ़ॉल्ट इंटरफेस ।
...
प्रतिनिधि वर्ग और संरचना की तरह व्यवहार करते हैं। डिफ़ॉल्ट रूप से, उनके पास आंतरिक पहुंच होती है जब सीधे नामस्थान के भीतर घोषित किया जाता है, और नेस्टेड होने पर निजी एक्सेस ।
दूसरे लिंक से:
शीर्ष-स्तरीय प्रकार , जो अन्य प्रकारों में नेस्टेड नहीं हैं, केवल आंतरिक या सार्वजनिक पहुंच हो सकती है। इन प्रकार के लिए डिफ़ॉल्ट पहुंच-आंतरिक है ।
और नेस्टेड प्रकारों के लिए:
डिफ़ॉल्ट सदस्य पहुंच के सदस्य ---------- ---------------------------- सार्वजनिक रूप से कक्षा निजी इंटरफ़ेस सार्वजनिक निजी संरचना
Public
। Enum
सदस्य भी हैं Public
। संभवतः आपके मामले में स्पष्ट दायरे का उपयोग करने के लिए कम भ्रमित होने के बाद से संभावना अधिक है, इसका अनुवाद किया जाएगा या किसी बिंदु पर सी # डेवलपर्स द्वारा पढ़ा जाएगा। Vb.net में कोड जनरेशन दुर्भाग्य से आपके लिए ऐसा नहीं करती है।
MSDN से:
शीर्ष-स्तरीय प्रकार , जो अन्य प्रकारों में नेस्टेड नहीं हैं, केवल हो सकते हैं internal
या public
पहुंच हो सकती है। इन प्रकारों के लिए डिफ़ॉल्ट पहुँच है internal
।
स्रोत: पहुँच क्षमता स्तर (सी # संदर्भ) (दिसंबर 6 वीं , 2017)
डिफ़ॉल्ट रूप से, एक वर्ग के लिए पहुँच संशोधक है internal
। कहने का मतलब यह है कि एक ही विधानसभा में एक वर्ग सुलभ है। लेकिन अगर हम चाहते हैं कि वर्ग को अन्य विधानसभाओं से एक्सेस किया जाए तो इसे सार्वजनिक किया जाना चाहिए।
[assembly:InternalsVisibleTo("Friend1b")]
डिफ़ॉल्ट रूप से है private
। जब तक वे नेस्टेड न हों, कक्षाएं होती हैं internal
।
enum members are private by default, so to use them outside the enum we should declare them as public
। क्या आप बता सकते हैं कि पुस्तक आपके द्वारा कही गई बातों का खंडन क्यों करती है? धन्यवाद।