Esempio n. 1
0
        /// <summary>
        /// ユーザコンフィグのデータをシリアライズ化を行いXMLファイル形式で書き込む
        /// </summary>
        /// <param name="writer">
        /// 書き込み用の <see cref="TextWriter"/> ストリーム
        /// </param>
        /// <param name="xmlData">
        /// 書き込むユーザコンフィグのデータ
        /// </param>
        private static void SerializeWrite(TextWriter writer, ConfigXmlRoot xmlData)
        {
            // シリアル化して書き込む
            XmlSerializer serializer = new XmlSerializer(typeof(ConfigXmlRoot));

            serializer.Serialize(writer, xmlData);
        }
Esempio n. 2
0
        /// <summary>
        /// ユーザコンフィグを読み込む
        /// </summary>
        public void Load()
        {
            // ユーザーコンフィグのファイル名を取得
            string userConfigFileName = FileName;

            // ユーザコンフィグの存在チェック
            if (!File.Exists(userConfigFileName))
            {
                // 新規作成のパターン
                // ユーザコンフィグが存在しない場合、初期値(空のユーザコンフィグデータ)を設定
                XmlData = new ConfigXmlRoot();
                return;
            }

            // 同時実行でファイルIOのエラーを防ぐため排他制御を行う
            lock (LockFileWriteObject)
            {
                // ユーザコンフィグを逆シリアル化して読み込む
                TextReader reader;
                using (reader = new StreamReader(userConfigFileName, new UTF8Encoding(false)))
                {
                    // (事前に File.Exists で存在チェックを行っているため
                    //  TextReader の生成では例外は発生しない)
                    XmlData = DeserializeRead(reader);
                }
            }
        }
Esempio n. 3
0
 /// <summary>
 /// コンストラクタ
 /// 引数のユーザコンフィグ(XML形式)で、初期化を行う
 /// </summary>
 /// <param name="userConfigXmlData">ユーザコンフィグのXML形式のデータ</param>
 public UserConfig(ConfigXmlRoot userConfigXmlData)
 {
     XmlData = userConfigXmlData;
 }