1

私のWPFアプリケーションでは、ユーザーに表示されるフォームがあり、ユーザーは、たとえば場所に関するフォームに記入します。これらのフォーム エントリは、カスタム クラスからオブジェクトを構築するために使用され、入力された場所に関する次のビューの詳細が表示されます。

必要なのは、動的に作成されたオブジェクトを保存して、アプリケーションを閉じて再度開いたときに、以前に入力したオブジェクトの名前プロパティを表示して、ユーザーが以前に入力したオブジェクトからデータを再度開くことができるようにするメソッドです。

それらを.oslファイルにシリアル化できると考えていますが、それはパブリック値のみを保存します。だから私はもっと簡単な方法があるに違いないと思っています

どんな助けでも大歓迎です!

4

1 に答える 1

4

についてお読みください.Net Serialization

 [Serializable]
    class Person
    {
        public int Age { get; set; }
        public string Name { get; set; }
    }
    [Serializable]
    class Address
    {
        public string City { get; set; }
    }



static public void SerializeToXML(Person p, Address add)
        {
            IFormatter formatter = new BinaryFormatter();
            using (FileStream stream = new FileStream(@"C:\data.xml", FileMode.Create, FileAccess.Write, FileShare.None))
            {
                formatter.Serialize(stream, p);
                formatter.Serialize(stream, add);
            }
        }
        static void DeserializeFromXML()
        {
            IFormatter formatter = new BinaryFormatter();
            using (FileStream stream = new FileStream(@"C:\data.xml", FileMode.Open, FileAccess.Read, FileShare.None))
            {

                Person p = (Person)formatter.Deserialize(stream);
                Address add = (Address)formatter.Deserialize(stream);
            }
        }

使用する:

Person p = new Person { Age = 23, Name = "Ram" };
            Address add = new Address { City = "Khurja,India" };
            SerializeToXML(p, add);
            DeserializeFromXML();

このようにして、必要なものをシリアライズ/デシリアライズできます。

于 2012-07-29T16:20:22.740 に答える