Ejemplo n.º 1
0
        /// <summary>
        /// Serialize un objet de type Hangman
        /// </summary>
        /// <param name="_path">string : le chemin du fichier binaire</param>
        /// <param name="_hangman">Hangman : l'objet a sérialisé</param>
        /// <returns></returns>
        public static bool Serialize(string _path, Hangman _hangman)
        {
            bool success   = true;
            var  formatter = new BinaryFormatter();

            using (var stream = new FileStream(_path, FileMode.Create, FileAccess.Write))
            {
                try
                {
                    formatter.Serialize(stream, _hangman);
                    stream.Flush();
                }
                catch (ArgumentNullException e)
                {
                    success = false;
                    Console.WriteLine(e.Message);
                }
                catch (SerializationException e)
                {
                    success = false;
                    Console.WriteLine(e.Message);
                }
            }
            return(success);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Déserialize un objet de type Hangman
        /// </summary>
        /// <param name="_path">string : le chemin a chargé</param>
        /// <returns>Hangman : l'objet désérialisé</returns>
        public static Hangman Deserialize(string _path)
        {
            Hangman hangman   = null;
            var     formatter = new BinaryFormatter();

            using (var stream = new FileStream(_path, FileMode.Open, FileAccess.Read))
            {
                try
                {
                    hangman = (Hangman)formatter.Deserialize(stream);
                }
                catch (ArgumentNullException e)
                {
                    Console.WriteLine(e.Message);
                    return(null);
                }
                catch (SerializationException e)
                {
                    Console.WriteLine(e.Message);
                    return(null);
                }
            }
            return(hangman);
        }