public static T GetClone(T objtoclone) { T clonedobj; using (MemoryStream memstream = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(memstream, objtoclone); memstream.Position = 0; clonedobj = (T) formatter.Deserialize(memstream); } return clonedobj; }