2010-02-11 8 views
30

का उपयोग कर रहा के रूप मेंवस्तु सी # परावर्तन

इस मुख्य विंडो को संदर्भित करता है (window1)

Type type = this.GetType(); 
PropertyInfo pi = type.GetProperty("Left"); 
object obj = pi.GetValue(type, null); 

इस प्रकार एक खिड़की के एक मूल्य प्राप्त करने के लिए कोशिश कर रहा हूँ लक्ष्य प्रकार से मेल नहीं खाता लेकिन मैं एक मिल "ऑब्जेक्ट लक्ष्य का उपयोग कर लक्ष्य प्रकार से मेल नहीं खाता" त्रुटि। गलत क्या है?

उत्तर

50

क्योंकि आप किसी प्रकार की 'वाम' संपत्ति प्राप्त करने का प्रयास कर रहे हैं, न कि आपके उदाहरण पर।

इस

object obj = pi.GetValue(this, null); 
0

उपयोग इस कोड

object obj = property.GetValue(currentObject, null) कोशिश;

+5

अपने स्वयं के कोड ब्लॉक आमतौर पर उपयोगी उत्तर नहीं हैं। यदि आप कृपया अपना उत्तर संपादित कर सकते हैं और समझा सकते हैं कि आप जो कोड दिखा रहे हैं, और क्यों/कोड उस प्रश्न का उत्तर कैसे देता है, तो यह वास्तव में मदद कर सकता है। –

+0

यह तब काम करता है जब आपके पास स्ट्रिंग या कोई गैर जटिल प्रकार किसी संपत्ति के अंदर एक मूल्य के रूप में होता है, तो आपको इसके बजाय पैरामीटर के रूप में वर्तमान ऑब्जेक्ट (ऑब्जेक्ट जिसका उपयोग करने के लिए उपयोग किया जाता है) भेजना चाहिए – Ramakrishna

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