2012-07-30 23 views
20

प्रयोग करने के लिए कंटेनर प्रकार जाओ मैं इस तरह एक वर्ग है कहते हैं:एक नेस्टेड प्रकार प्रतिबिंब

public class Test { 
    public class InnerTest{} 
} 

अब InnerTest के लिए एक TypeInfo वस्तु है। InnerTest से टेस्ट के लिए TypeInfo ऑब्जेक्ट को मैं कैसे ढूंढ सकता हूं?

दूसरी तरफ सरल है, मैं केवल GetNestedTypes() का उपयोग कर सकता हूं, लेकिन मुझे नेस्टेड क्लास के लिए युक्त कक्षा को समझने के लिए कोई विधि या संपत्ति (IsNestedType के अलावा) नहीं मिल सकती है।

उत्तर

28

आप संपत्ति "DeclaringType" को पुनर्प्राप्त करके प्राप्त कर सकते हैं।

MSDN का हवाला देते हुए:

एक प्रकार वस्तु संलग्न प्रकार का प्रतिनिधित्व करने, यदि वर्तमान प्रकार एक नेस्टेड प्रकार है; या जेनेरिक प्रकार परिभाषा, यदि वर्तमान प्रकार एक सामान्य प्रकार का एक प्रकार पैरामीटर है; या वह प्रकार जो जेनेरिक विधि घोषित करता है, यदि वर्तमान प्रकार एक सामान्य विधि का प्रकार पैरामीटर है; अन्यथा, शून्य। आप Type.DeclaringType संपत्ति की तलाश में हैं जैसे

http://msdn.microsoft.com/en-us/library/system.type.declaringtype.aspx

+0

इतना आसान समाधान। और मैं खुद पागल हो रहा हूँ :) – jessehouwing

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