IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Serialization d'une List<FileInfo> => Error reflecting types


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Serialization d'une List<FileInfo> => Error reflecting types
    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 :
    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
        }
    }
    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.
    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

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    Peut-être que tout simplement la classe FileInfo n'est pas sérialisable?

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Je me suis aussi posé la question mais d'après la msdn il semblerai que la classe FileInfo est bien serialisable.

    Seulement je viens de faire le test et j'ai droit à un joli message disant que la classe n'est pas serialisable car la classe FileInfo n'as pas de constructeur sans paramètres !!

    Merci la MSDN !!!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2010, 11h11
  2. serializer une liste d'Integer !
    Par hidalg007 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 06/01/2009, 11h43
  3. Réponses: 5
    Dernier message: 31/10/2008, 12h24
  4. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 15h30
  5. tri d'une liste
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 09/01/2003, 18h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo