2010-10-21 87 views
6

我正在處理一個項目,其中來自XML的字段名稱被加載並且具有該名稱的字段被返回並添加到當前對象。問題是FieldInfo.GetValue似乎返回字段的當前值,而不是引用。有什麼辦法可以解決這個問題嗎?從FieldInfo獲取對變量的引用

回答

7

不幸的是沒有。 FieldInfo.GetValue的設計是提供價值而不是參考。 FieldInfo上沒有其他合適的方法來提供參考。

這樣做的一個原因是簡單的不安全。演示堆棧中對象爲struct的場景。如果FieldInfo可以提供對該字段的引用,那麼它將提供對可以在任何時刻消失的一塊堆棧的引用。在堆棧消失後讀取或寫入該引用將是不正確的和類型安全違規。

+0

啊,好的。謝謝您的幫助! – lushr 2010-10-21 16:09:09

+0

這很糟糕。我希望能夠做到這一點。需要有某種方式。 – 2016-08-30 12:40:01