我知道typeof(T) == typeof(T)
因爲Type
對象基本上都是靜態的,每個類類型只有一個Type
實例存在(如果這是錯的永遠是真實的,請大家指正...我有幾個程序在這個假設下運作)。威爾的PropertyInfo是從的GetProperties等於的PropertyInfo()
我很難在文檔中找到PropertyInfo
對象是否顯示相同的屬性。
我的應用程序是這樣的:
我有一個Reflector<T>
類取結果typeof(T).GetProperties(...)
和存儲所產生的PropertyInfo
對象作爲鍵在字典中。
另外,我有一個表達式分析器,其嘗試解析描述Func<T, TResult>
類型的特定屬性的訪問的表達(例如用t => t.SomeProperty
被T
和t.GetType()
被TResult
的SomeProperty
類型)。經過一些計算後,我最終從Expression
得到的PropertyInfo
對象。
然後將得到的PropertyInfo
用作Dictionary.TryGetValue
調用中的鍵,以獲取有關存儲在Reflector<T>
字典中的屬性的附加數據。
問題
我可以放心,這些來自MemberExpression.Member
的PropertyInfo
將等於(==
)的PropertyInfo
同一屬性從Type.GetProperties
退回或可能會有兩種不同的PropertyInfo
情況下,在現實請參考相同類型的相同屬性?
爲了討論的目的,可以假定該屬性是非虛擬的或者如果它是虛擬的則不被覆蓋。