[英]How do I find what methods are called from a C# class method - NOT at run time
我有一個C#類,代碼太多了,我想refactor
它。 我想要做的是從所有public methods
,並為每個public methods
構建一個tree
,顯示從中調用類中的其他方法,然后從子類中調用哪些方法,依此類推。
這將使我能夠看到哪些private methods
僅屬於一個public method
,這些public method
是共享的,等等。
請注意,我不想在運行時執行此操作,我希望能夠直接在.cs file
查看類,或者在編譯的DLL
上使用反射。
我知道我可以在編譯的DLL上使用反射來獲取方法,但我找不到任何方法來找出類中其他方法調用的方法。
任何想法? 同樣,這不是運行時問題,它純粹是為了構建一個可重用的實用程序來幫助重構超大類。 在我正在研究的解決方案中有很多,所以代碼可以反復使用。
Visual Studio 2010具有“查看調用層次結構”操作,您可以在其中查看解決方案中調用代碼的所有位置。
根據我的經驗,這種靜態分析可能有點缺乏,例如可以使用Reflection,數據綁定,依賴注入容器等動態調用方法。
此外,這可能有點偏離主題,並不適用於您的情況,但我發現找到組件的死代碼的好方法是有一套集成測試。 然后,您可以運行代碼覆蓋,並直觀地查看從不執行的代碼路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.