6
我正在處理一個項目,其中來自XML的字段名稱被加載並且具有該名稱的字段被返回並添加到當前對象。問題是FieldInfo.GetValue似乎返回字段的當前值,而不是引用。有什麼辦法可以解決這個問題嗎?從FieldInfo獲取對變量的引用
我正在處理一個項目,其中來自XML的字段名稱被加載並且具有該名稱的字段被返回並添加到當前對象。問題是FieldInfo.GetValue似乎返回字段的當前值,而不是引用。有什麼辦法可以解決這個問題嗎?從FieldInfo獲取對變量的引用
不幸的是沒有。 FieldInfo.GetValue
的設計是提供價值而不是參考。 FieldInfo
上沒有其他合適的方法來提供參考。
這樣做的一個原因是簡單的不安全。演示堆棧中對象爲struct
的場景。如果FieldInfo
可以提供對該字段的引用,那麼它將提供對可以在任何時刻消失的一塊堆棧的引用。在堆棧消失後讀取或寫入該引用將是不正確的和類型安全違規。
啊,好的。謝謝您的幫助! – lushr 2010-10-21 16:09:09
這很糟糕。我希望能夠做到這一點。需要有某種方式。 – 2016-08-30 12:40:01