haciendo referencia a this a una pregunta.¿BinaryFormatter Serialize and Deserialize es seguro?
Puede esto ser reescrita como:
private static BinaryFormatter formatter = new BinaryFormatter();
public static T DeepClone<T>(this T a)
{
using(MemoryStream stream = new MemoryStream())
{
formatter.Serialize(stream, a);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
lo tanto evitando la construcción (y GC'ing) un nuevo BinaryFormatter para cada llamada?
Esta ruta de código se golpea con mucha frecuencia ya que se trata de nuestra capa de almacenamiento en caché y me gustaría que sea lo más ligera posible.
Gracias.
Un argumento clásico para inmutable;) –