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 回答