Bonjour à tous.
Je suis actuellement en cours de développement d'une application et je tombe sur un problème que je n'arrive pas à résoudre.
Dans mon application je serialize des objets assez complexes.
Parmis les attributs d'un des objets à serialiser j'ai une liste de FileInfo.
Lorsque je veut serialiser mon objet il me met l'erreur suivante:
There was an error reflecting type 'System.Collections.Generic.List`1[Configuration.Release]
Cette erreur provient de la méthode:
System.Xml.Serialization.TypeMapping ImportTypeMapping(System.Xml.Serialization.TypeModel, System.String, ImportContext, System.string, System.Xml.Serialization.XmlAttributes, Boolean, Boolean)
(nb: Release: le nom de ma classe que je veut serializer, Configuration: le nom de la solution)
(nb2: J'ai eu ces infos en récupérant les attributs Message et Method de l'Exception)
Voici une partie du code de ma classe :
Alors donc j'ai bien comme c'est demandé pour la serialisation, un constructeur par défaut, les attributs sont en private avec des getteurs et des setteurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 namespace Configuration { public class Release : ISerializable { #region Attributes private List<FileInfo> files; //[...] #endregion #region Getters & Setters public List<FileInfo> Files { get { return files; } set { files = value; } } //[...] #endregion #region Constructors & Destructors public Release() { Files = new List<FileInfo>(); //[...] } ~Release(){ } public virtual void Dispose(){ } #endregion #region Methods //[...] #endregion #region ISerializable Members public Release(SerializationInfo info, StreamingContext context) { this.Files = (List<FileInfo>)info.GetValue("Files", typeof(List<FileInfo>)); } public void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Files", Files); } #endregion } }
J'ai overridé la methode GetObjectData(...).
J'ai mème mis le constructeur bizarre que j'ai pu lire sur certains forums.
J'avais déja eu ce genre de problèmes avec la serialisation XML et j'avais pu les regler avec les methodes de la région ISerializable Members. Mais la c'est pas possible et ca veut pas marcher et je suis au bord de la crise de nerfs.
Enfin voila, si jamais quelqu'un à une idée je suis partant.
Merci
Partager