2013-07-28 67 views
2

空的方法你如何找到一个项目定义的特定类型的所有空的方法?一个示例用例是查找Asp.Net应用程序中定义的所有空Page_Load方法。查找在Visual Studio

+1

可能重复[Visual Studio 2008中/ C#:如何找到死代码中的一个项目(http://stackoverflow.com/questions/2020297/visual-studio-2008-c-sharp-how-to-find-dead-code- (查找未使用的代码)(http://stackoverflow.com/q/245963),[是否有一种工具可以在C#应用程序中查找未引用的函数(死的,过时的代码)?](http: //你用什么工具和技术在.NET中找到死代码?(http://stackoverflow.com/q/162641) –

+0

@CodyGray:我不认为这是任何这些的重复;这个问题涉及*正在使用的空方法(作为事件处理程序),因此*不是*死代码。 – icktoofay

回答

3

在Visual Studio发现的工具,将其设置为使用正则表达式。使用此表达式来查找空方法。

void\ .*\(*\)(\ |(\r\n))*{(\ |(\r\n))*} 

要找到空的Page_Load方法:

void\ (Page_Load).*\(*\)(\ |(\r\n))*{(\ |(\r\n))*} 

所有这些方法都将工作 “无效” 的方法。对于其他类型,您可以更改表达式或进一步推广表达式以匹配任何类型的返回类型。

+0

即使您自己回答您的问题,请将其标记为已解决。我搜索了这个,我的第一眼看到这个问题没有解决,所以我不得不测试它。它的每个人都有一个绿色钩显示工作解决方案:) – C4u

0

你可以使用FxCop(或可能StyleCop)检测到空的方法。用于检测空方法的FxCop的规则可以发现here(虽然我没有测试它,你应该能够对其进行修改,以避免去除的方法)。

0

改善ravinsp的回答了一下,如果你想“找到所有”实际上高亮显示整个方法(所以你可以做一个搜索和替换删除),请使用正则表达式的

^.*void\ .*\(*\)(\ |(\r\n))*{(\ |(\r\n))*}