だらだらやるよ。

こげつのIT技術メモ

XmlSerializerがちょっとだけ不便だったのでつくった。

設定の保存などに便利なXmlSerializerなのだけど、毎回ストリーム渡すのとキャストで値受け取るのがめんどくさかったのでラップした。
値型は返さない方向でとりあえず。

	public class ExXmlSerializer<T> : XmlSerializer where T : class {
		public ExXmlSerializer()
			: base(typeof(T)) {
		}
		public void Serialize(string path,T o) {
			if(File.Exists(path)) {
				File.Delete(path);
			}
			using(FileStream fs = new FileStream(path,FileMode.OpenOrCreate,FileAccess.Write)) {
				this.Serialize(fs,(object)o);
			}
		}
		public T Deserialize(string path) {

			using(FileStream fs = new FileStream(path,FileMode.Open,FileAccess.Read)) {
				try {
					return (T)Deserialize(fs);
				} catch {
					return null;
				}
			}
		}

	}