public static object DeepClone( object currentObject) ... { MemoryStream memoryStream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(memoryStream, currentObject); memoryStream.Position = 0; return formatter.Deserialize(memoryStream); }