在代码审查中,我的同事更改了我的代码,将一个Stream作为参数传递。他说这样可以确保调用者清楚地知道处理对象的责任。从某种意义上说,我能够理解。我也希望对象创建者负责清理。
另一方面,两种方法都没有使需要使用
接下来是需要翻译的内容:Take
另一方面,两种方法都没有使需要使用
using
更加清晰。我也更喜欢更简单的方法调用。接下来是需要翻译的内容:Take
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);
}
是否有任何技术原因需要添加额外的参数?
XmlSerializer
,通常会将流作为参数传递。 - mellamokb