オブジェクトのシリアライズ(Object→String)・デシリアライズ(String→Object)

アプリケーション終了時に、構造体の変数をシリアライズ化(文字列化)して設定ファイルに書き込み、
次回起動時にシリアライズ解除(オブジェクト化)することで、変数をまるごと維持することができる。

using System.Web.UI;

namespace CommonLibrary
{
    public static class ObjectSerialize
    {
        private static ObjectStateFormatter formatter = new ObjectStateFormatter();

        /// <summary>
        /// オブジェクトのシリアライズ
        /// </summary>
        /// <param name="objTarget"></param>
        /// <returns></returns>
        public static string Serialize(object objTarget)
        {
            return formatter.Serialize(objTarget);
        }

        /// <summary>
        /// オブジェクトのデシリアライズ
        /// </summary>
        /// <param name="strTarget"></param>
        /// <returns></returns>
        public static object Deserialize(string strTarget)
        {
            return (strTarget == string.Empty) ? null : formatter.Deserialize(strTarget);
        }
    }
}