私が開発しているコードを調べているうちに、Console.WriteLine
を投げ捨てたり、プログラムが実行されたときに値が表示されることがあります。 Console.WriteLine
の欠点は、式を括弧で囲む必要があり、おそらくそれを分解しなければならないということです。例えば、この表現与えられた:すぐに検査するのに便利なインライン表示方法
a().b().c();
をさんは、私がb()
の値を印刷したいとしましょう。私は次のようなことをする必要があります:
var val = a().b();
Console.WriteLine(val);
val.c();
値を見るためにはちょうど編集が大変です。私は、全体の式の値を変更することなく、任意のメソッドチェーンでDisp
への呼び出しを挿入することができます
public static T Disp<T>(this T obj)
{
Console.WriteLine(obj);
return obj;
}
:
私のソリューションは、この拡張メソッドを使用することでした。上記の例ではb()
の結果を確認するには、私がやるだろう:
a.().b().Disp().c()
私の質問は、ある既に.NETでDisp
のようないくつかの方法がありますか? Disp
を実装するより良い方法はありますか?この手法に欠点がありますか?
更新2012-02-09
Iはまた、書式文字列を受け付けるオーバーロードされたバージョンを追加しました:
public static T Disp<T>(this T obj, string format)
{
Console.WriteLine(string.Format(format, obj));
return obj;
}
よろしくお願いします。しかし、私はおそらく 'Disp'を短縮形の表記として' Tap 'という言葉で定義しています。 – dharmatech