दिलचस्प पोस्ट
सीएसवी में दोहरे उद्धरण से बचें एंड्रॉइड – बटन दोहराएँ कार्रवाई को पकड़ो हैमामाइ एसोसिएशन के परिणाम गिनती से रेल आदेश एंड्रॉइड स्टूडियो में मैं परीक्षण कैसे बना सकता हूं? तू STD :: वेक्टर से वारिस नहीं होगा SQL सर्वर में डुप्लिकेट रिकॉर्ड हटाएं? एचएएस-ए, आईएस-ए ऑब्जेक्ट ओरिएंटेड भाषा में एक शब्दावली है UIComponentBase को बढ़ाते समय राज्य को कैसे बचाया जाए फेसबुक ईमेल फील्ड रिटर्न रिक्त (भले ही "ईमेल" की अनुमति सेट और स्वीकार्य हो) एंड्रॉइड 6 पर स्थान अनुमति का अनुरोध कैसे करें एंड्रॉइड पर प्रति-अनुप्रयोग आधार पर मैं डेटा उपयोग कैसे प्राप्त करूं? लिंक्स को संस्थाओं को कोई विधि पहचान नहीं है Windows.Forms.Timer या सिस्टम। थ्रेडिंग। टाइमर संपत्ति द्वारा कोणीय जे एस छँटाई आईओएस 4.2.1 विकास एसडीके में libXcodeDebuggerSupport.dylib लापता है

'सुरक्षित' और 'संरक्षित आंतरिक' के बीच अंतर क्या है?

क्या कोई मुझे सी # में 'सुरक्षित' और 'संरक्षित आंतरिक' संशोधकों के बीच का अंतर बता सकता है? ऐसा लगता है कि वे उसी तरीके से व्यवहार करते हैं

वेब के समाधान से एकत्रित समाधान "'सुरक्षित' और 'संरक्षित आंतरिक' के बीच अंतर क्या है?"

"संरक्षित आंतरिक" पहुंच संशोधक "संरक्षित" और "आंतरिक" संशोधक दोनों का एक संघ है

एमएसडीएन से, एक्सेस मॉडिफ़ेर (सी # प्रोग्रामिंग गाइड) :

संरक्षित :

प्रकार या सदस्य को केवल उसी कक्षा या संरचना में कोड द्वारा या उस वर्ग से प्राप्त होने वाले वर्ग में पहुंचा जा सकता है।

आंतरिक :

प्रकार या सदस्य को उसी विधानसभा में किसी भी कोड से पहुंचा जा सकता है, लेकिन दूसरे विधानसभा से नहीं।

संरक्षित आंतरिक :

इस प्रकार या सदस्य को विधानसभा में किसी भी कोड द्वारा एक्सेस किया जा सकता है जिसमें इसे घोषित किया जाता है, या किसी दूसरे विधानसभा में व्युत्पन्न वर्ग के भीतर से। दूसरे विधानसभा से प्रवेश एक वर्ग घोषणापत्र के भीतर होना चाहिए जो वर्ग से प्राप्त होता है जिसमें संरक्षित आंतरिक तत्व घोषित किया जाता है, और यह व्युत्पन्न वर्ग प्रकार के एक उदाहरण के माध्यम से होना चाहिए।

ध्यान दें कि : protected internal अर्थ " protected या internal " (उसी विधानसभा में कोई भी वर्ग, या कोई व्युत्पन्न वर्ग – भले ही वह एक अलग विधानसभा में हो)

… और पूर्णता के लिए:

निजी

प्रकार या सदस्य को उसी श्रेणी या संरचना में कोड द्वारा ही एक्सेस किया जा सकता है।

जनता

प्रकार या सदस्य को उसी विधानसभा या किसी अन्य विधानसभा में संदर्भित किसी अन्य कोड द्वारा एक्सेस किया जा सकता है।

protected किसी भी विधानसभा से किसी भी उपवर्ग द्वारा इस्तेमाल किया जा सकता है

protected internal सब कुछ है जो protected है, साथ ही एक ही विधानसभा में भी कुछ भी इसका उपयोग कर सकता है।

महत्वपूर्ण बात, इसका अर्थ यह नहीं है कि "एक ही विधानसभा में उपवर्ग" – यह दोनों का संघ है, प्रतिच्छेदन नहीं है

व्यवहार में, तरीकों के बारे में:

संरक्षित – विरासत कक्षाओं के लिए सुलभ, अन्यथा निजी

आंतरिक – केवल विधानसभा के अंदर वर्गों के लिए, अन्यथा निजी

संरक्षित आंतरिक – संरक्षित या आंतरिक – साधनों को विरासत में मिली कक्षाओं और विधानसभा के अंदर के किसी भी वर्ग के लिए सुलभ हो जाते हैं।

संरक्षित : वैरिएबल या पद्धति केवल बाल वर्गों (किसी भी विधानसभा में) के लिए उपलब्ध होगी

संरक्षित आंतरिक : एक ही विधानसभा के भीतर किसी भी विधानसभा और सभी वर्गों में बाल कक्षाओं के लिए उपलब्ध है

अभी भी "संरक्षित आंतरिक" एक्सेसर्स के दायरे को समझने में बहुत भ्रम है, हालांकि अधिकांश में परिभाषा को सही ढंग से परिभाषित किया गया है। इससे "संरक्षित" और "संरक्षित आंतरिक" के बीच भ्रम को समझने में मुझे मदद मिली:

जनता वास्तव में विधानसभा के अंदर और बाहर सार्वजनिक ( सार्वजनिक आंतरिक / सार्वजनिक बाहरी )

संरक्षित वास्तव में विधानसभा के अंदर और बाहर संरक्षित है ( सुरक्षित आंतरिक / सुरक्षित बाहरी ) (शीर्ष स्तर कक्षाओं पर अनुमति नहीं है)

निजी सचमुच विधानसभा के अंदर और बाहर निजी ( निजी आंतरिक / निजी बाहरी ) (शीर्ष स्तर कक्षाओं पर अनुमत नहीं है)

आंतरिक वास्तव में विधानसभा के अंदर सार्वजनिक है लेकिन निजी ( सार्वजनिक आंतरिक / बाहर रखा गया ) जैसे विधानसभा के बाहर बाहर रखा गया

संरक्षित आंतरिक विधानसभा के अंदर वास्तव में सार्वजनिक है लेकिन असेंबली से बाहर सुरक्षित ( सार्वजनिक आंतरिक / संरक्षित बाहरी ) (शीर्ष स्तर कक्षाओं पर अनुमत नहीं)

जैसा कि आप सुरक्षित आंतरिक देख सकते हैं एक बहुत ही अजीब जानवर है। सहज नहीं है

अब यह सवाल पूछता है कि माइक्रोसॉफ्ट ने एक संरक्षित आंतरिक / बाहर रखा बाहरी क्यों नहीं बनाया, या मुझे किसी प्रकार की "निजी संरक्षित" या "आंतरिक संरक्षित" लगता है? जबरदस्त हंसी। अधूरा लगता है?

भ्रम में जोड़ा गया तथ्य यह है कि आप आंतरिक, नेस्टेड सदस्यों को सुरक्षित, आंतरिक, या निजी प्रकार के अंदर सार्वजनिक कर सकते हैं या संरक्षित कर सकते हैं। आप एक आंतरिक वर्ग के भीतर नेस्टेड "संरक्षित आंतरिक" क्यों पहुंच पाएंगे, जो बाहरी विधानसभा पहुंच से बाहर है?

माइक्रोसॉफ्ट का कहना है कि ऐसे नेस्टेड प्रकार उनके माता-पिता के प्रकार के क्षेत्र तक सीमित हैं, लेकिन ऐसा नहीं है कि कंपाइलर क्या कहता है आप अंदरूनी कक्षाओं में संरक्षित आंतरिकों को संकलित कर सकते हैं, जो कि सिर्फ विधानसभा तक ही सीमित होना चाहिए।

मुझे यह अपूर्ण डिजाइन जैसा लगता है। उन्हें एक ऐसी प्रणाली में सभी प्रकार के दायरे को सरलीकृत करना चाहिए, जो स्पष्ट रूप से विरासत पर विचार करें, लेकिन नेस्टेड प्रकार की सुरक्षा और पदानुक्रम भी। यह असंबद्ध स्कोपिंग सिस्टम के आधार पर प्रकारों और सदस्यों की पहुंच की खोज के बजाय वस्तुओं को साझा करना अत्यंत सहज और बारीक था।

मैंने इन शर्तों के लिए बहुत स्पष्ट परिभाषाएं पढ़ी हैं

संरक्षित: प्रवेश वर्ग की परिभाषा और कक्षा से प्राप्त होने वाले किसी भी वर्ग के भीतर सीमित है। प्रकार या सदस्य को केवल उसी कक्षा या संरचना में या उस वर्ग से प्राप्त की गई कक्षा में कोड द्वारा पहुंचा जा सकता है।

आंतरिक: वर्तमान परियोजना असेंबली के भीतर निर्धारित कक्षाओं तक पहुंच सीमित है। प्रकार या सदस्य को केवल एक ही कक्षा में कोड द्वारा एक्सेस किया जा सकता है।

संरक्षित-आंतरिक: प्रवेश मौजूदा विधानसभा या वर्ग से प्राप्त प्रकार से सीमित है।

संरक्षित सदस्य

निहित वर्ग में केवल एक वर्ग के संरक्षित सदस्य (जिसमें यह घोषित किया गया है) और विधानसभा के भीतर और विधानसभा के बाहर व्युत्पन्न वर्ग में।

इसका मतलब यह है कि यदि कोई वर्ग जो विधानसभा के बाहर रहता है तो उस कक्षा में केवल विरासत में मिली अन्य विधानसभाओं के संरक्षित सदस्य का उपयोग कर सकते हैं।

हम विधानसभा के बाहर संरक्षित सदस्य को उस कक्षा को विरासत में प्राप्त कर सकते हैं और इसे केवल व्युत्पन्न कक्षा में ही उपयोग कर सकते हैं।

नोट: संरक्षित सदस्य ऑब्जेक्ट को व्युत्पन्न कक्षा में उपयोग करने योग्य नहीं हैं।

आंतरिक सदस्य

कक्षा का आंतरिक सदस्य उपलब्ध है या विधानसभा के अंदर पहुंच या वस्तु बनाने या व्युत्पन्न वर्ग में या आप कह सकते हैं कि विधानसभा के भीतर सभी वर्गों में यह सुलभ है।

नोट: आंतरिक सदस्य ऑब्जेक्ट बनाने या व्युत्पन्न क्लास में या तो विधानसभा से बाहर पहुंच योग्य नहीं हैं।

संरक्षित आंतरिक

संरक्षित आंतरिक पहुंच संशोधक संयोजन संरक्षित या आंतरिक है

संरक्षित आंतरिक सदस्य पूरे विधानसभा के भीतर उपलब्ध हो सकते हैं जिसमें या तो यह वस्तु बना रही है या उस वर्ग से विरासत में मिली है। और केवल व्युत्पन्न वर्ग में असेंबली के बाहर ही पहुंच योग्य हो सकती है।

नोट: संरक्षित आंतरिक सदस्य एक ही विधानसभा में आंतरिक रूप से कार्य करता है और विधानसभा के बाहर के लिए संरक्षित के रूप में काम करता है।

सार्वजनिक – सदस्यों (फ़ंक्शंस और वेरिएबल) को जनता के रूप में घोषित किया जा सकता है कहीं से भी पहुंचा जा सकता है।

निजी – कक्षा के बाहर से निजी सदस्यों तक नहीं पहुंचा जा सकता है यह एक सदस्य के लिए डिफ़ॉल्ट एक्सेस स्पेसिफायर है, अर्थात यदि आप किसी सदस्य (वैरिएबल या फ़ंक्शन) के लिए एक्सेस स्पेसिफायर निर्दिष्ट नहीं करते हैं, तो इसे निजी के रूप में माना जाएगा इसलिए, स्ट्रिंग फोन नंबर; निजी स्ट्रिंग के बराबर है PhoneNumber।

संरक्षित – संरक्षित सदस्यों को केवल बाल कक्षाओं से ही एक्सेस किया जा सकता है।

आंतरिक – यह केवल उसी विधानसभा के भीतर पहुंचा जा सकता है

संरक्षित आंतरिक – यह एक ही विधानसभा के साथ-साथ व्युत्पन्न कक्षा में भी पहुंचा जा सकता है।

संरक्षित आंतरिक श्रेष्ठ सुइट्स जब आप चाहते हैं कि किसी सदस्य या प्रकार का एक ही समय में दूसरे विधानसभा से व्युत्पन्न वर्ग में इस्तेमाल किया जाए, तो वह सदस्य को उपभोग करना चाहते हैं या बिना वर्चस्व वाले वर्ग से प्राप्त किए गए वर्ग के बिना टाइप करें। इसके अलावा, यदि आप केवल एक सदस्य का उपयोग करना चाहते हैं या किसी अन्य वर्ग से बाहर निकलने के लिए चाहते हैं, उसी विधानसभा में आप केवल आंतरिक उपयोग कर सकते हैं