在我的 WPF 应用程序中,我有一个呈现给用户的表单,用户填写的表单是关于,例如一个位置。然后使用这些表单条目从自定义类构造对象,并在下一个视图中显示有关输入位置的详细信息。
我需要的是一种能够保存动态创建的对象的方法,这样当应用程序关闭并重新打开时,我可以显示以前输入的对象的名称属性,以便用户可以重新打开以前输入的对象中的数据。
认为我可以将它们序列化为 .osl 文件,但这只会保存公共值。所以我在想一定有一个更简单的方法
任何帮助表示赞赏!
在我的 WPF 应用程序中,我有一个呈现给用户的表单,用户填写的表单是关于,例如一个位置。然后使用这些表单条目从自定义类构造对象,并在下一个视图中显示有关输入位置的详细信息。
我需要的是一种能够保存动态创建的对象的方法,这样当应用程序关闭并重新打开时,我可以显示以前输入的对象的名称属性,以便用户可以重新打开以前输入的对象中的数据。
认为我可以将它们序列化为 .osl 文件,但这只会保存公共值。所以我在想一定有一个更简单的方法
任何帮助表示赞赏!
阅读有关.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();
这样你就可以序列化/反序列化你想要的任何东西。