Ссылка this ответ на вопрос.Являются ли двоичные файлы сериализованными и десериализованными потоками безопасными?
Может ли это быть переписано в виде:
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);
}
}
Так избегая построения (и GC'ing) новый BinaryFormatter для каждого вызова?
Этот путь кода очень сильно ударяется, поскольку он включает в себя наш слой кеширования, и я хотел бы сделать его максимально легким.
Спасибо.
Классический аргумент для неизменяемого;) –