【发布时间】:2019-08-01 17:29:14
【问题描述】:
有没有办法在 Visual Studio 上轻松访问整个 NetCore 解决方案的方法总数?
【问题讨论】:
-
您是指程序集列表中所有类型中用户定义方法的数量?
-
是的,就是这样
标签: visual-studio methods .net-core solution
有没有办法在 Visual Studio 上轻松访问整个 NetCore 解决方案的方法总数?
【问题讨论】:
标签: visual-studio methods .net-core solution
在 Visual Studio 中,您可以使用 分析 > 计算代码指标 > 解决方案 菜单来计算每个函数的代码指标。这对您有好处,因为在结果窗口中您将获得代码中每个函数的概要。
但是,这个结果并不是很有用,因为它包含 getter 和 setter 作为单独的函数。为了解决这个问题,我右键单击主节点(或您要探索的任何节点)并选择在 Microsoft Excel 中打开选择。在这里,我在 Member 列上设置了以下过滤器:
第一行确保只包含函数,第二行确保我们不计算 getter 或 setter。这样,我们的过滤表将包含与我们解决方案中用户定义函数一样多的行(您可以选择一整列,并在窗口的右下方显示包含某些内容的行数)。
【讨论】:
您可以在 Visual Studio 上安装 NDepend 扩展。它在其仪表板上显示方法的总数。
【讨论】:
是的,这是已经提出的解决方案的替代解决方案。
解决方案:使用C#交互窗口通过反射获取方法计数。
第 1 步
在 Visual Studio 中打开 C# 交互式窗口。示例:https://stackoverflow.com/a/11135787
第 2 步
获取您的 DLL 或包含 DLL 的文件夹的完整路径。
第 3 步
将反射代码粘贴到 C# 交互窗口中。
第 4 步
改进/自定义反射代码以满足您的需求。在 Stackoverflow 中搜索现有的反射解决方案。
简单代码示例:
Console.WriteLine(Assembly.LoadFrom(@"<single DLL path here>").GetTypes().Select(x => x.GetMethods().Count()).Sum());
【讨论】: