コードのレビューでは、共同作業者が自分のコードを変更してストリームとしてパラメータとして渡しました。彼は、これは、オブジェクトを処分する責任が発信者にはっきりしていることを保証することだと述べました。ある意味で私は共感することができます。私はオブジェクトクリエイターもクリーンアップの責任を負うことを望んでいます。使い捨て可能なオブジェクトを渡す必要がありますか?
どちらの方法でも、どちらの方法も、もう一度明らかにする必要はありません。私はより簡単なメソッド呼び出しも好む。
VS
public static TextReader Serialize<T>(T obj) where T: new()
{
if (obj == null) throw new ArgumentNullException("obj");
return Serialize<T>(obj, null);
}
を取る
public static void Serialize<T>(T obj, TextWriter outbound) where T : new()
{
if (obj == null) throw new ArgumentNullException("obj");
Serialize<T>(obj, outbound, null);
}
渡すパラメータを追加するための技術的な理由はありますか?
たとえば、XmlSerializerなどの.NET Framework自体からヒントを取得すると、ストリームはパラメータとして渡される傾向があります。 – mellamokb
http://codereview.stackexchange.com/の質問があります – MattDavey