/// <summary>
        /// XMLファイルからパラメータを読み込む
        /// </summary>
        /// <typeparam name="T">
        /// 読み込むパラメータ型.シリアライズ可能なものである必要がある.
        /// </typeparam>
        /// <param name="trg">出力引数.読み込んだデータを設定する対象.</param>
        /// <param name="fn">XMLのファイル名</param>
        static public void LoadFromXmlFile <T>(out T trg, string fn)
        {
            try
            {
                //読み込むファイルを開く
                global::System.IO.FileStream fs = new global::System.IO.FileStream(
                    fn, global::System.IO.FileMode.Open, global::System.IO.FileAccess.Read);

                //XmlSerializerオブジェクトを作成
                global::System.Xml.Serialization.XmlSerializer serializer =
                    new global::System.Xml.Serialization.XmlSerializer(typeof(T));
                //XMLファイルから読み込み、逆シリアル化する
                T obj = (T)serializer.Deserialize(fs);
                //ファイルを閉じる
                fs.Close();

                // modified 2014, Apr 30 by Okuda,
                // Is it OK??
                //trg = DeepClone<T>(obj);
                trg = obj;
            }
            catch
            {
                trg = default(T);
            }
        }
Exemple #2
0
        public object DeserializeObject(string value, Type t)
        {
            var serializer = new global::System.Xml.Serialization.XmlSerializer(t);

            using (TextReader reader = new StringReader(value))
            {
                object result = serializer.Deserialize(reader);
                return(result);
            }
        }
        public T DeserializeUnmarshall <T>(string text)
        {
            global::System.Xml.Serialization.XmlSerializer serializer = null;
            serializer = new global::System.Xml.Serialization.XmlSerializer(typeof(T));

            T result = default(T);

            using (global::System.IO.TextReader r = new global::System.IO.StringReader(text))
            {
                result = (T)serializer.Deserialize(r);
            }

            return(result);
        }
        /// <summary>
        /// Streamからパラメータを読み込む
        /// </summary>
        /// <typeparam name="T">
        /// 読み込むパラメータ型.シリアライズ可能なものである必要がある.
        /// </typeparam>
        /// <param name="trg">出力引数.読み込んだデータを設定する対象.</param>
        /// <param name="stream">読み込むStream</param>
        static public void LoadFromStream <T>(out T trg, global::System.IO.TextReader s)
        {
            try
            {
                //XmlSerializerオブジェクトを作成
                global::System.Xml.Serialization.XmlSerializer serializer =
                    new global::System.Xml.Serialization.XmlSerializer(typeof(T));
                //streamファイルから読み込み、逆シリアル化する
                T obj = (T)serializer.Deserialize(s);
                //ファイルを閉じる
                s.Close();

                // modified 2014, Apr 30 by Okuda,
                // Is it OK??
                //trg = DeepClone<T>(obj);
                trg = obj;
            }
            catch
            {
                trg = default(T);
            }
        }