在我的WPF
应用程序中,我有一个Project
类,其HashSet为Layout
s,每个Layout都有一个特殊特殊对象的HashSet。我需要做的是序列化"项目"它一直工作得很好,直到我发现我需要将Brush
添加到其中一种特殊对象中。所以现在它不起作用,因为Brush不可序列化。以下是我序列化项目的方法:
public static void WriteXML(LCTProject project)
{
System.Xml.Serialization.XmlSerializer writer =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
System.IO.StreamWriter file = new System.IO.StreamWriter(project.Path);
writer.Serialize(file, project);
file.Close();
}
public static LCTProject ReadXML(string path)
{
System.Xml.Serialization.XmlSerializer reader =
new System.Xml.Serialization.XmlSerializer(typeof(LCTProject));
System.IO.StreamReader file = new System.IO.StreamReader(path);
LCTProject project = new LCTProject();
project = (LCTProject)reader.Deserialize(file);
return project;
}
如果Project内部有Brush
,我如何才能使Project可序列化?也许我可以添加一个功能?我找到了这个:How can i serialize xaml "Brush"?但不幸的是,它对我没有帮助。