Utility-AppConfig

Utility-AppConfigクラス。

<?xml version="1.0"?>
<SampleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Number>1</Number>
  <Message>テストメッセージ</Message>
</SampleClass>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyApp.Utility
{
	/// <summary>
	/// AppConfig.cs対応のサンプルクラス
	/// </summary>
	public class ConfigSampleClass
	{
		public int Number;
		public string Message;
	}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml.Serialization;
using System.Windows.Forms;

namespace MyApp.Utility
{
	/// <summary>
	/// 設定ファイルクラス(XmlSerializerを使用)
	/// </summary>
	public class AppConfig
	{
		#region 変数
		
		/// <summary>
		/// 設定ファイル
		/// </summary>
		private const string CONFIG_FILE_NAME = "app.config.xml";

		#endregion

		#region メソッド

		/// <summary>
		/// 設定ファイルから読み込む
		/// </summary>
		/// <returns>設定ファイルクラス</returns>
		public ConfigSampleClass Read()
		{
			//XmlSerializerオブジェクトの作成
			XmlSerializer serializer = new XmlSerializer(typeof(ConfigSampleClass));

			ConfigSampleClass sampleClass;

			//ファイルを開く
			using (FileStream fs = new FileStream(Path.Combine(Application.StartupPath, CONFIG_FILE_NAME), FileMode.Open))
			{
				//XMLファイルから読み込み、逆シリアル化する
				sampleClass = (ConfigSampleClass)serializer.Deserialize(fs);
			}

			return sampleClass;
		}

		/// <summary>
		/// 設定ファイルへ書き込む
		/// </summary>
		/// <param name="sampleClass">設定ファイルクラス</param>
		public void Write(ConfigSampleClass sampleClass)
		{
			//XmlSerializerオブジェクトを作成、書き込むオブジェクトの型を指定する
			XmlSerializer serializer = new XmlSerializer(typeof(ConfigSampleClass));

			//ファイルを開く
			using (FileStream fs = new FileStream(Path.Combine(Application.StartupPath, CONFIG_FILE_NAME), System.IO.FileMode.Create))
			{
				//シリアル化し、XMLファイルに保存する
				serializer.Serialize(fs, sampleClass);
			}
		}

		#endregion
	}
}