2012-03-29 13 views
3

を使用して内部の私は、検索と置換次の問題をするためにReSharperの(6.1)コードパターンを構築する方法を知りたいではないReSharperのコードパターンが

using (var cmd = new SqlCommand()) 
{ 
    cmd.ExecuteNotQuery(); 
} 

と:

StreamReader reader = new StreamReader("myfile.txt"); 
string line = reader.Read(); 
Console.WriteLine(line); 

は次のようになります。

using (StreamReader reader = new StreamReader("file.txt")) 
{ 
    string line = reader.ReadLine(); 
    Console.WriteLine(line); 
} 

EDIT:答えてくれてありがとう、私はReSharperの下のパターンツールを使用して検索を使用しIDisposable

答えて

0

を実装して何を探しています|検索メニュー。

検索パターンで、C#が選択されていることを確認し、検索するコードをボックスに入力します。右上の[置換]ボタンをクリックし、置換するコードを[置換パターン]ボックスに入力します。

検索と置換のパターンを保存することができます.R#は、必要に応じて後続のコード解析に使用します。また、[コード検査]の[R#オプション]でパターンを追加することもできます。カスタムパターン。

+0

ニースの詳細/アプローチですが、ここでコードパターンのカタログスニペットを探しています –

+0

コードインスペクションでカスタムパターンを追加することについてお話ししていますか? – squillman

+2

はい、カスタムパターンとANSITHINGは 'IDisposable'を実装します –

2

検索パターン:それはあなたがしているもののように見える

using (var $cmd$ = $sqlcommand$) 
{ 
$cmd$.ExecuteNonQuery(); 
} 

cmd =識別子

sqlcommandタイプSystem.Data.SqlClient.SqlCommand

+0

SqlCommandの問題ではなく、排他的です。コードベースで 'using'を使う機会を探しています。 –

+0

Um ..あなたの元の質問はSqlCommand特有の_exactly_でした – gorohoroh

+0

あなたは正しいが、タイトルは変更されていない。私は私の質問を明確にするために編集をしました。私もあなたの回答に投票しましたが、それは私が探していた答えではありません。 'using'でラップされていない' IDisposable'を実装するオブジェクトを見つけるためにコードパターンを使う方法はありませんか? –

2

の=式:

var $cmd$ = $sqlcommand$; 
$cmd$.ExecuteNonQuery(); 

パターンを交換してください本当に後にはinspecがありますIDisposableオブジェクトを探してそれらが廃棄されることを確実にします。その場合、私はカスタムパターンが正しいアプローチであるとは思っていません。結局のところ、を実行した場合、を数行後にDispose()と呼んでください。

これを実装する1つの方法は、ReSharper SDKを使用することです。実際に、SDKに付属している例の1つは、特定のクラスにIDisposableを実装するPowerToyです。そのコードを使用分析の基礎とすることができます。

+0

呼び出しいくつかの行を後で処理することは、finallyブロックから呼び出さない限り、他の行の1つに例外がスローされた場合に役立ちません。 –