c# - student - resharper教學




Resharper-查找所有未使用的類 (2)

@ulrichc的解決方案聽起來很完美,並且適用於您不使用任何依賴注入框架(如Castle或Ninject)的小型到中量級項目,但如果您使用DI容器[例如城堡],並且您擁有以下內容:

public class IoC
{
    private WindsorContainer _container;

    private IoC()
    {
         _container = new WindsorContainer();
    }

    public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime)
    {
        var lifestyle = ConvertLifeStyleType(lifeTime);

        _container.Register(AllTypes.FromAssembly(assembly)
                  .Where(type => type.Name.EndsWith(classEndsWith))
                  .WithService.AllInterfaces()
                  .Configure(c => c.LifeStyle.Is(lifestyle))
                  .WithService.FirstInterface());
    }
}

正如你所看到的,RegisterFromAssembly遍歷程序集中的所有類型,並且盲目[基於方法參數]在運行時將它們添加到容器中。

您需要一些類似於Agent Mulder插件的內容,該插件可為您的容器內註冊或解析的類型提供導航。 這又可能在視覺上[可能設計時間]起作用,但除非每次移除未使用的類時,都會執行所有測試[每個可能的圖層],以確保您的安全。 故事的道德:一個類可能聽起來不適用於Resharper,但當您使用依賴注入時它可能會復活。

我知道如何通過右鍵單擊文件並選擇“查找用法”選項來查找單個文件的未使用引用。 有什麼方法可以查看或獲取我的項目中所有未使用的類或文件的列表?


首先啟用“分析解決方案中的錯誤”(右鍵單擊狀態欄中的Resharper圖標)。

然後右鍵單擊解決方案節點並選擇“查找代碼問題”。 在“檢查結果”工具窗口中,您可以按“問題類型”進行分組,並查找“從不使用類型或類型成員”來獲取所有未使用的類(以及更多未使用的符號)。

第二個選項(在啟用“分析解決方案中的錯誤”之後)是轉到任何未使用的類,按Alt + Enter,選擇“選項for'類型或類型成員...'檢查”| 查找這種類型的所有代碼問題| 整個解決方案





resharper