2011-12-30 97 views
5

我想找出所有使用/引用特定類的類和程序集。有沒有什麼方法可以通過C#編程找出答案?查找參考類和方法

例如,如果Class1被稱爲/由Class2Assembly1引用,Class3Assembly2,我想找到Class2 & Class3使用C#編程。

有沒有人可以幫助我?有什麼工具可以幫助嗎?我想編寫一個小程序來從一個程序集中讀取類,並找到引用/使用該類的類。

我的問題總之:如何通過編寫C#程序作爲代碼清理活動的一部分在我的代碼庫中查找未使用的類或方法?

+3

它是在編譯時或運行時(以找到確實未使用的代碼沒有用)? – oleksii 2011-12-30 12:29:35

+0

「該標籤適用於彙編語言編程問題,不適用於任何處理器。」 - 請使用[.net-assembly]標記代替 – 2011-12-30 12:36:02

+0

如果運行時,可以通過反射,但是必須枚舉所有程序集,它們的所有類,所有方法,屬性和構造函數以及它們的參數等。類,然後你仍然不會捕獲只在方法的代碼體內使用的引用。 – Casperah 2011-12-30 12:38:49

回答

1

如果你正在尋找一個工具來做到這一點,你可以使用NDepend這可以做你正在描述的東西,還有更多。

或者,如果你使用的ReSharper:右鍵單擊「查找使用實例」 ...

+0

談論耗時的做每個類/方法,因爲他想找到未使用的類/方法的代碼清理向上。 – jgauffin 2011-12-30 13:13:16

+1

然後使用NDepend。這是做這件事的完美工具。 「查找死碼」是一項主要功能。 – 2011-12-30 13:15:23

+0

感謝諾亞的快速幫助。 – nRk 2011-12-30 14:05:46