簡體   English   中英

System.Reflection.PropertyInfo.GetValue() - 降級.NET版本 - 缺少方法簽名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM