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 } }