2009-02-11 13 views

उत्तर

18

GetExportedTypes() में संरक्षित/निजी/आंतरिक प्रकार शामिल नहीं हैं। अलेक्जेंडर के प्रश्न में नीचे दिए गए प्रश्न के अनुसार, आंतरिक प्रकारों को शामिल नहीं किया गया है, भले ही InternalsVisibleToAttribute के माध्यम से एक असेंबली को दिखाई दे।

GetTypes() में सभी प्रकार शामिल हैं।

+0

यह विशेष रूप से भ्रमित है कि नेस्टेड 'संरक्षित' प्रकार, और नेस्टेड 'सुरक्षित आंतरिक' प्रकार, जिनके घोषित प्रकार सार्वजनिक हैं, वापस नहीं आते हैं। ['टाइप कनवर्टर + सरलप्रॉपर्टी डिस्क्रिप्टर'] के साथ एक उदाहरण (http://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter.simplepropertydescriptor.aspx):' क्लास MyClass: System.ComponentModel.TypeConverter {स्थिर शून्य मुख्य() {var exported = typeof (SimplePropertyDescriptor); Console.WriteLine (exported.IsVisible)/* झूठा लिखता है * /; }} ' –

7

GetExportedTypes() केवल उन प्रकारों को लौटाता है जो असेंबली के बाहर प्रश्न में दिखाई देते हैं। "दृश्यमान" का अर्थ है सार्वजनिक प्रकार और सार्वजनिक प्रकार अन्य सार्वजनिक प्रकारों के भीतर घोंसला।

+0

तो क्या आपका मतलब है कि GetExportedTypes() का उपयोग होने पर सभी सार्वजनिक प्रकार लौटाए जाते हैं? GetTypes() तब क्या करता है? – Viks

3

InternalsVisibleToAttribute और this question के बारे में छोटी टिप्पणी।

भले ही कॉल InternalsVisibleTo विशेषता वाले असेंबली द्वारा बनाई गई हो, GetExportedTypes()internal प्रकार वापस नहीं आएगा।

तो, GetExportedTypes() केवल public प्रकार देता है।

संबंधित मुद्दे

 संबंधित मुद्दे