示例#1
0
        public static ApplicationSettings LoadData()
        {
            ApplicationSettings settings = null;

            DataSaverAttribute attribute = GetAttribute();

            if (attribute != null)
            {
                try
                {
                    string fileName = null;
                    switch (attribute.TypeSerializer)
                    {
                    case SerializerType.Binary:
                        fileName = String.Format("{0}.{1}", attribute.FileName, "dat");
                        using (Stream readStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                        {
                            IFormatter serializer = new BinaryFormatter();
                            settings = (ApplicationSettings)serializer.Deserialize(readStream);
                        }
                        break;

                    default:
                        fileName = String.Format("{0}.{1}", attribute.FileName, "xml");
                        using (Stream readStream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
                        {
                            XmlSerializer serializer = new XmlSerializer(typeof(ApplicationSettings));
                            settings = (ApplicationSettings)serializer.Deserialize(readStream);
                        }
                        break;
                    }
                }
                catch
                {
                    MessageBox.Show("Failure: The data reading operation is not completed.");
                }
            }
            else
            {
                MessageBox.Show("Failure: The data reading option is not implemented.");
            }

            return(settings);
        }
示例#2
0
        public static void SaveData(ApplicationSettings settings)
        {
            DataSaverAttribute attribute = GetAttribute();

            if (attribute != null && settings != null)
            {
                try
                {
                    string fileName = null;
                    switch (attribute.TypeSerializer)
                    {
                    case SerializerType.Binary:
                        fileName = String.Format("{0}.{1}", attribute.FileName, "dat");
                        using (Stream writeStream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
                        {
                            IFormatter serializer = new BinaryFormatter();
                            serializer.Serialize(writeStream, settings);
                        }
                        break;

                    default:
                        fileName = String.Format("{0}.{1}", attribute.FileName, "xml");
                        using (Stream writeStream = new FileStream(fileName, FileMode.Create, FileAccess.Write))
                        {
                            XmlSerializer serializer = new XmlSerializer(typeof(ApplicationSettings));
                            serializer.Serialize(writeStream, settings);
                        }
                        break;
                    }

                    MessageBox.Show("The data saving operation is successfully completed.");
                }
                catch
                {
                    MessageBox.Show("Failure: The data saving operation is not completed.");
                }
            }
            else
            {
                MessageBox.Show("Failure: The data saving option is not implemented.");
            }
        }
示例#3
0
        private static DataSaverAttribute GetAttribute()
        {
            DataSaverAttribute attribute = (DataSaverAttribute)Attribute.GetCustomAttribute(typeof(DataSaver), typeof(DataSaverAttribute));

            return(attribute);
        }