2
NDepend的類瀏覽器似乎沒有顯示繼承方法的選項。使用NDepend繼承的方法依賴關係
我們有這樣一個場景,我們有成千上萬來自RootModel下降,例如單根模式對象。只有RootModel定義保存()。如何查詢所有SampleModel(:RootModel)調用保存()?
SELECT METHODS WHERE IsUsing "SampleModel.Save()" ORDER BY DepthOfIsUsing
...被拒絕:不是有效的組件,命名空間,典型值,方法或字段名稱。
這似乎是最好的近似,但並不確切:
SELECT METHODS WHERE IsUsing "SampleModel" AND IsUsing "RootModel.Save()" ORDER BY DepthOfIsUsing
這似乎是一個相當沉重的限制,不是嗎?什麼是解決方法?
嗨,帕特里克;你是否建議靜態分析本身不能分析繼承的方法,或者它只是不被NDepend實現?它肯定是後者:反射器等各種工具通過靜態分析來枚舉類瀏覽器中的繼承成員。第二個查詢至多是一個估計;這不是人們希望的確切答案。我發現你們對NDepend的社區反饋非常開放,我希望這個人能夠列出名單;在我看來,這是OOP中非常常見的情況。 – Nariman 2009-09-23 13:43:20