2013-07-28 66 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))*}