[英]System.Reflection.PropertyInfo.GetValue() - Downgrading .NET version - method signature missing
為了在Server 2003上運行.NET控制台應用程序,我們不得不將我們的一個核心庫從.NET 4.5降級到4.0。 除此之外,這個庫有一個類執行一些反射,循環訪問對象的屬性以使用Propertyinfo.GetValue()
獲取它們的值
根據MSDN文檔 , PropertyInfo.GetValue (Object)
僅在.NET 4.5中。 在.NET 4.0中, 此方法存在,但形式為PropertyInfo.GetValue (Object, Object[])
(額外參數是知道如何處理索引屬性)。
如果我們要降級此代碼,我們需要知道當PropertyInfo.GetValue Method (Object)
遇到索引屬性時會發生什么,因此我們可以使用PropertyInfo.GetValue Method (Object, Object[])
來鏡像此功能。 有人可以幫忙嗎?
文檔對此並不清楚,但是在反編譯器中檢查實現會顯示property.GetValue(obj)
只是調用property.GetValue(obj, null)
而不進行任何檢查,並且不會發現任何異常。 任何異常,你會從中獲取property.GetValue(obj)
因此, 正是你會從得到的異常property.GetValue(obj, null)
,你應該沒有問題,更新您的來電。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.