我很驚訝地看到,使用x.GetType().GetProperty("Foo")
獲得的對象的實際類型不是System.Reflection.PropertyInfo
,而是System.Reflection.RuntimePropertyInfo
。什麼是System.Reflection.RuntimePropertyInfo,我該如何比較它?
我沒有在msdn或其他地方看到這種類型的文檔。
我的實際問題是從參考文獻比較兩個屬性。我從第三方庫中收到一個屬性,並將其與我在.GetProperty("Foo")
上獲得的屬性進行比較。我期望屬性是相同的對象(並且它們在調試時看起來像「本地」窗口中的相同屬性),但它們不是(GetHashCode
結果不同)。所以,我認爲它可以以某種方式與屬性對象的實際類型System.Reflection.RuntimePropertyInfo
相關。
什麼是System.Reflection.RuntimePropertyInfo
?如何比較它?它的行爲與往常一樣PropertyInfo
?
對於你的實際問題(屬性不匹配),我建議首先提出[MCVE],並比看看你是否還不明白 - 比問一個新問題(因爲這是關於RuntimePropertyInfo) –
@AlexeiLevenkov隔離問題幫助了我和這裏我問了下一個問題:http://stackoverflow.com/questions/36799386/how-to-compare-same-propertyinfo-with-different-reflectedtype-values – astef