Я использую свободный nhibernate в своем проекте. Внутренне, свободно nhibernate, используйте этот код ниже для выполнения DeepClone
( ссылка ):
using (var stream = new MemoryStream()) {
var formatter = new BinaryFormatter();
formatter.Serialize(stream, obj);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
К сожалению, это не работает на mono , потому что этот код будет вызывать
System.Collections.Generic.HashSet<T>.GetObjectData
(System.Runtime.Serialization.SerializationInfo info, StreamingContext
context)
который еще не реализован (throw NotImplementedException
).
Кто-нибудь знает глубокие коды клонов, которые работают на моно?