コード例 #1
0
ファイル: Serialize.cs プロジェクト: kubast/wpfLight
        private static T RestoreData <T>(string fileName, SerializeFormatter formatter) where T : ITypeToSerialize
        {
            //T restoredObject = default(T);
            object restoredObject = null;

            using (var fileStream = File.Open(workspace + fileName, FileMode.OpenOrCreate))
            {
                switch (formatter)
                {
                case SerializeFormatter.Binary:

                    BinaryFormatter bf = new BinaryFormatter();
                    restoredObject = bf.Deserialize(fileStream);

                    break;

                case SerializeFormatter.Soap:

                    SoapFormatter sf = new SoapFormatter();
                    restoredObject = sf.Deserialize(fileStream);
                    break;

                case SerializeFormatter.Xml:
                    XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
                    restoredObject = xmlSerializer.Deserialize(fileStream);

                    break;

                default: break;
                }
            }
            return((T)restoredObject);
        }
コード例 #2
0
ファイル: Serialize.cs プロジェクト: kubast/wpfLight
        public static void SavaData(string fileName, object objectGraph, SerializeFormatter formatter)
        {
            using (var fileStream = File.Open(workspace + fileName, FileMode.OpenOrCreate))
            {
                switch (formatter)
                {
                case SerializeFormatter.Binary:

                    BinaryFormatter bf = new BinaryFormatter();
                    bf.Serialize(fileStream, objectGraph);

                    break;

                case SerializeFormatter.Soap:

                    SoapFormatter sf = new SoapFormatter();
                    sf.Serialize(fileStream, objectGraph);
                    break;

                case SerializeFormatter.Xml:
                    XmlSerializer xmlSerializer = new XmlSerializer(objectGraph.GetType());
                    xmlSerializer.Serialize(fileStream, objectGraph);
                    break;

                default: break;
                }
            }
        }