我有2个类,我正在序列化以保存数据。
[Serializable]
public class Album
{
private string nom;
[XmlElement]
public string Nom
{
get { return nom; }
set { nom = value; }
}
private List<Photo> photos = new List<Photo>();
[XmlArray]
public List<Photo> Photos
{
get { return photos; }
set { photos = value; }
}
...
}
还有一些照片:
[Serializable]
public class Photo
{
private string nom;
[XmlElement]
public string Nom
{
get { return nom; }
set { nom = value; }
}
private string path;
[XmlElement]
public string Path
{
get { return path; }
set { path = value; }
}
private Image image;
[XmlIgnore]
public Image Image
{
get { return image; }
set { image = value; }
}
...
}
如您所见,我没有序列化Bitmap Image。但是当我反序列化我的XML时,我希望在同一时间构建Bitmap对象。
解决方案是在反序列化后使用循环创建位图图像,但我认为有一种正确的方法。
你能帮助我吗?
答案 0 :(得分:0)
将图像创建逻辑放在setter of Path
属性中。将为每个反序列化对象调用Setter。
[XmlElement]
public string Path
{
get { return path; }
set
{
path = value;
// Image creation logic here
}
}