コード レビューで、同僚が私のコードを変更して、Stream をパラメーターとして渡すようにしました。彼は、これはオブジェクトを処分する責任が発信者に明確であることを保証するためであると述べました。ある意味共感できる。オブジェクトの作成者がクリーンアップも担当することをお勧めします。
一方、どちらの方法でも、using
これ以上明確にする必要はありません。私は、より単純なメソッド呼び出しも好みます。
取った
public static TextReader Serialize<T>(T obj) where T: new()
{
if (obj == null) throw new ArgumentNullException("obj");
return Serialize<T>(obj, null);
}
VS
public static void Serialize<T>(T obj, TextWriter outbound) where T : new()
{
if (obj == null) throw new ArgumentNullException("obj");
Serialize<T>(obj, outbound, null);
}
追加のパラメーターを追加する技術的な理由はありますか?