1

&パラメーターがコードの可読性を損なうというのが私の意見です。ほとんどの場合、ジェネリックと null 許容型を使用して置き換えることができます。refout

誰かが ref または out パラメータを持つ関数を定義しようとしたときに resharper に警告してもらいたいです。ただし、私が見つけたのは、out パラメーターを使用するように宣言されたメソッドをリファクタリングする方法だけです。既存のインスペクションや、ref & out パラメータをターゲットとするカスタム パターンを作成する方法はないようです。

out パラメーターの一般的な使用法を次に示します。

int i;
if(!int.TryParse(str, out i))
{
    i = -1;
}

それをこれと比較してください:

var i = str.TryParse<int>() ?? -1;

TryParse は単なる文字列の拡張メソッドです。ValueType.TryParse() 呼び出しに下線を引くカスタム resharper ルールがあります。linq 式の一部として文字列を解析できるようになったことに注意してください。

T? TryParse<T>(this string str) 
{
   //magic
}
4

1 に答える 1