public static void SaveAsCP3(FileInfo file, DeckModel in_deck) { //Update the deck's filename DeckModel deck = in_deck.Copy(); deck.current_subs = false; deck.current_poll = false; if ((deck.Disposition & DeckDisposition.Remote) != 0){ deck.Disposition = DeckDisposition.Empty; } using (Synchronizer.Lock(deck)) { deck.Filename = file.FullName; } //Serialize it FileStream fs = file.Open(FileMode.Create, FileAccess.Write); try { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, deck); fs.Flush(); } finally { fs.Close(); } }