我的問題涉及對屬性的繼承屬性的檢查。Attribute.IsDefined vs MemberInfo.IsDefined - 繼承參數的差異
像this Question描述的方法Attribute.IsDefined(MemberInfo, Type, Boolean)(1)和MemberInfo.IsDefined(Type, Boolean)(2)基本上是相同的。兩者都在檢查是否使用屬性。但在繼承參數嚴重區別,如果我想查一個屬性:
(1):
如果爲true,指定同時搜索元素的祖先自定義屬性。
(2):
真搜索該成員的繼承鏈找到的屬性;否則,是錯誤的。 對於屬性和事件,此參數被忽略;見備註。
(備註只推薦(1)的使用)
It's沒有問題,使用(1)獲得財產的繼承屬性。但我的問題是爲什麼:爲什麼這個功能是這樣實現的?這是什麼原因,用途或好處?從我的觀點來看,有一種方法忽略了一個參數,這並不是一個乾淨的解決方案。
我忽略了什麼?