public class Cloner
{
static public object _GenericDeepCopy(object target)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
// Serialize the object into the stream.
bf.Serialize(ms, target);
//Position streem pointer back to first byte.
ms.Seek(0, SeekOrigin.Begin);
// Deserialize into another object.
object clone = bf.Deserialize(ms);
// Release memory.
ms.Close();
return clone;
}
static public XXX _XXXDeepCopy(XXX dcLookUpTable)
{
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
// Serialize the object into the stream.
bf.Serialize(ms, dcLookUpTable);
//Position streem pointer back to first byte.
ms.Seek(0, SeekOrigin.Begin);
// Deserialize into another object.
XXX cloneObject = (XXX)bf.Deserialize(ms);
// Release memory.
ms.Close();
return cloneObject;
}
}
July 15, 2005
.Net Deep Copy or Cloning Using Serialization
Heres some code I developed to make a deep copy of an object using serialisation.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment