2010-10-21 7 views
6

से वेरिएबल का संदर्भ प्राप्त करें मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां एक्सएमएल से फ़ील्ड नाम लोड हो गया है और उस नाम वाला फ़ील्ड वापस लौटाया गया है और वर्तमान ऑब्जेक्ट में जोड़ा गया है। समस्या यह है कि FieldInfo.GetValue फ़ील्ड के वर्तमान मान को वापस करने के लिए प्रतीत होता है, संदर्भ नहीं। क्या इसके आसपास पाने के लिए कोई रास्ता नहीं है?FieldInfo

उत्तर

7

दुर्भाग्यवश कोई नहीं है। FieldInfo.GetValue का डिज़ाइन मूल्य प्रदान करना है और संदर्भ नहीं है। संदर्भ प्रदान करने के लिए FieldInfo पर कोई अन्य उपयुक्त विधि नहीं है।

ऐसा करने का एक कारण यह है कि ऐसा करना असुरक्षित होगा। उस परिदृश्य को इमेजेन करें जहां ऑब्जेक्ट struct स्टैक पर है। यदि FieldInfo उस struct के किसी फ़ील्ड का संदर्भ प्रदान कर सकता है तो यह किसी भी पल में दूर जा सकता है जो ढेर के टुकड़े का संदर्भ प्रदान करेगा। ढेर के बाद उस संदर्भ को पढ़ना या लिखना गलत होगा और एक प्रकार का सुरक्षा उल्लंघन होगा।

+0

आह, ठीक है। सहायता के लिए धन्यवाद! – lushr

+0

वह बेकार है। मैं ऐसा करने में सक्षम होना चाहता हूँ। कुछ रास्ता होना चाहिए। –

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