当我尝试在我的xml文件中序列化新的位图图像时,我遇到错误“GDI +中发生了一般错误”。只有在文件中存在现有数据时才会发生错误,如果我清空序列化工作。
以下是代码:
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
[XmlElement("LargeIcon")]
public byte[] LargeIconSerialized
{
get
{ // serialize
if (_Photo == null) return null;
using (MemoryStream ms = new MemoryStream())
{
_Photo.Save(ms, ImageFormat.Bmp);
return ms.ToArray();
}
}
set
{ // deserialize
if (value == null)
{
_Photo = null;
}
else {
using (MemoryStream ms = new MemoryStream(value))
{
_Photo = new Bitmap(ms);
}
}
}
}
我序列化的地方:
public void EnregistrerNewUtil(string folderPath, string fileName)
{
Stream fStream;
try { // si ouvert ferme le fichier
fStream = new FileStream(folderPath + fileName, FileMode.Open, FileAccess.Write, FileShare.None);
fStream.Close();
}
catch{
// déjà fermé
}
using (fStream = new FileStream(folderPath + fileName, FileMode.Truncate, FileAccess.Write, FileShare.None))//vider avant de réécrire la liste
{
XmlSerializer xmlFormat = new XmlSerializer(typeof(UtilisateurList));
xmlFormat.Serialize(fStream, list);
}
}
修改
我应该添加我序列化列表,这里是代码:
[XmlRoot("Utilisateur_List")]
public class UtilisateurList
{
public UtilisateurList() { Items = new List<Utilisateur>(); }
[XmlElement("Utilisateur")]
public List<Utilisateur> Items { get; set; }
}
由于