Ndepend查找方法使用的实际数量

时间:2013-01-16 11:14:22

标签: linq ndepend cqlinq

假设我有方法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的两次使用。

你能帮我找一下用法编号吗?

1 个答案:

答案 0 :(得分:1)

使用NDepend很难或不可能。 NDepends显示哪些方法正在调用指定的方法,并且在这种情况下不计算它们,甚至不会递归地或通过调用图来计算它们。

所以尝试使用其他技术。首先,为什么需要这样的指标?某种方法排名?

无论如何,实现它的一种非常简单的方法是使用RegEx experssion。您也可以同时使用NDepend API或regex和ndepend api。例如,使用nDepend API从源代码库获取所有方法名称,然后使用正则表达式为每个方法名称计数匹配除了方法定义本身。