Ndepend查找实际方法使用次数

3
假设我有一个方法A.M1。 它在B.M2中被调用了2次,在B.M3中被调用了3次。 我需要找到所有使用情况的数量(就像Resharper通过查找用法接口一样)。因此,方法调用的总和将是5。
以下查询: from m in Methods where m.HasAttribute("specific attribute") orderby m.MethodsCallingMe.Count() descending select new { m, m.MethodsCallingMe } 仅为方法A.M1提供了2个用法。
请帮助我找到用法数。

NDepend可以告诉我们哪些方法调用了哪些方法,但它无法告诉我们一个特定的方法调用另一个方法的次数。 - Patrick from NDepend team
那么使用NDepend根本无法完成这个任务吗? - Sasha Reminnyi
不,这根本不可行。 - Patrick from NDepend team
1个回答

1

使用NDepend很难或几乎不可能完成此操作。NDepend显示调用指定方法的方法,但在这种情况下不计算它们,甚至不会递归地计算它们或通过调用图。

因此,尝试使用其他技术。首先,为什么需要这样的度量标准?某种方法排名?

无论如何,实现它的相当简单的方法是使用正则表达式。您还可以同时使用NDepend API或正则表达式和NDepend API。例如,使用nDepend API从源代码库获取所有方法名称,然后对于每个方法名称使用正则表达式计数匹配,除了方法定义本身。


NDepend API也无法帮助,因为它与CQLinq共享相同的代码模型(请参见我的评论问题)。 - Patrick from NDepend team
关于这一点,NDepend有很多设施,甚至不需要通过递归或调用图来计算它们。 - Patrick from NDepend team
为什么你需要这种度量?是某种方法的排名吗?NDepend 有度量标准 IMethod.Rank。http://www.ndepend.com/API/webframe.html?NDepend.API~NDepend.CodeModel.IMethod~Rank.html - Patrick from NDepend team

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接