से सार्वजनिक विधियों को कैसे छिपाना है I इंटेलिजेंस सदस्य सूची से सार्वजनिक विधियों को छिपाना चाहते हैं। मैंने एक विशेषता बनाई है कि जब किसी विधि पर लागू किया जाता है तो उसकी वस्तु का निर्माण होने पर विधि को बुलाया जाएगा। मैंने आंशिक कक्षाओं का बेहतर समर्थन करने के लिए यह किया है। समस्या यह है कि कुछ वातावरण (जैसे सिल्वरलाइट) में, प्रतिबिंब निजी वर्गों तक भी बच्चों के वर्गों तक नहीं पहुंच सकता है। यह एक समस्या है क्योंकि सभी काम बेस क्लास में किए जाते हैं। मुझे इन तरीकों को सार्वजनिक करना है, लेकिन मैं चाहता हूं कि उन्हें इंटेलिजेंस से छिपाना पड़े, जैसा कि Obsolete
विशेषता काम करता है। स्पष्ट रूप से, क्योंकि मैं वस्तु encapsulation के बारे में गुदा हूँ। मैंने अलग-अलग चीजों की कोशिश की है, लेकिन वास्तव में कुछ भी काम नहीं किया है। विधि अभी भी सदस्य ड्रॉप-डाउन में दिखाई देती है।इंटेलिजेंस
जब मैं ग्राहकों द्वारा उन्हें फोन नहीं करना चाहता हूं तो मैं इंटेलिजेंस में सार्वजनिक तरीकों को दिखाने से कैसे रोकूं?वास्तविक प्रश्न, पलिश्तियों के लिए यह कैसा है! यह एमईएफ गुणों पर भी लागू हो सकता है जिन्हें सार्वजनिक होना पड़ता है हालांकि कभी-कभी आप उन्हें ग्राहकों से छिपाना चाहते हैं।
अद्यतन: मैंने इस प्रश्न को पोस्ट करने के बाद से डेवलपर के रूप में परिपक्व हो गया है। इंटरफ़ेस छिपाने के बारे में मुझे बहुत ज्यादा परवाह क्यों है मेरे बाहर है।
उन्हें सार्वजनिक बना आप उन्हें एक्सेस किए जाने की/इस्तेमाल किया नहीं चाहते हैं तो न करें। – Oded
तो किसी ऑब्जेक्ट के कन्स्ट्रक्टर में विधियों को कॉल जोड़ने के बजाय, आप गुण जोड़ रहे हैं और उन्हें प्रतिबिंब के माध्यम से बुला रहे हैं? जहां तक "बेहतर समर्थन आंशिक कक्षाओं" के बारे में आपकी टिप्पणी है, यह नहीं है कि किस आंशिक तरीके के लिए हैं? – cadrell0
स्पष्ट इंटरफ़ेस कार्यान्वयन पर विचार करने का एक वैकल्पिक दृष्टिकोण हो सकता है। तब विधियां कक्षा के सार्वजनिक एपीआई का हिस्सा नहीं हैं, लेकिन केवल इंटरफ़ेस के माध्यम से दिखाई देती हैं। –