class SerializeHelper {
static public void ExportObject<T>( string key, T o ) {
XmlSerializer serializer = new XmlSerializer( typeof( T ) );
if ( ConfigurationManager.AppSettings[key] == null ) {
throw new ArgumentException( key + " を key として出力ファイル名をアプリケーション構成ファイルに設定する必要があります。" );
}
using ( var writer = XmlWriter.Create( ConfigurationManager.AppSettings[key] ) ) {
serializer.Serialize( writer, o );
writer.Close();
}
}
static public T ImportObject<T>( string key ) {
XmlSerializer serializer = new XmlSerializer( typeof( T ) );
if ( ConfigurationManager.AppSettings[key] == null ) {
throw new ArgumentException( key + " を key として入力ファイル名をアプリケーション構成ファイルに設定する必要があります。" );
}
using( var reader = XmlReader.Create( ConfigurationManager.AppSettings[key] ) ) {
return (T)serializer.Deserialize( reader );
}
}
}
<configuration>
<appSettings>
<add key="savefile" value ="nicodlgui.xml" />
</appSettings>
</configuration>