人们倾向于建议缓存 XmlSerializer 实例。这仍然是现实的吗? (如果否,什么时候会变成这样?)。
我也想出了以下代码,并要求对其进行审查。
代码:
public static class SerializerFactory<T>
{
public static readonly XmlSerializer Serializer = new XmlSerializer(typeof(T));
}
和用法:
var obj = (T)XmlSerializerFactory<T>.Serializer.Deserialize(input);
最佳答案
当您使用XmlSerializer(Type)
或XmlSerializer(Type,String)
构造函数时,序列化程序集将被缓存,因此创建新的序列化程序实例(source)的开销很小。
因此,就像您的工厂将使用此构造函数一样,它没有任何实际意义。您也可以直接使用构造函数。
关于.net - 要求代码审查: does such XmlSerializer factory have any drawbacks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494624/