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

C# Discussion :

Sérialisation d'une classe abstraite [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Sérialisation d'une classe abstraite
    Bonjour,

    Je venais de terminer de coder un analyseur de logs assez costaud, quand soudain on me demande de rajouter une fonctionnalité...

    J'ai des graphiques qui représentent des données d'une classe AnalyzedSite, et je sauvegarde toutes ces données par sérialisation XML.

    Sur ces graphiques, l'utilisateur peut déposer des annotations (graphiques MSChart Controls) et j'aimerais les enregistrer également dans ma classe AnalyzedSite afin de les retrouver lorsque je relance le logiciel.

    Malheureusement Annotation est une classe abstraite, et je n'arrive pas à sérialiser des List<Annotation> (Erreur reflection)...

    Auriez-vous une idée ?

    J'ai lu ceci : http://www.geekzilla.co.uk/viewA9CF6...6D9EB09C0E.htm

    Malheureusement je n'ai évidemment pas accès au code d'Annotation...

    Merci d'avance pour votre aide !

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut
    Salut,

    Par définition, une classe abstraite n'est pas instanciable, en conséquence, si elle n'est pas décorée de l'Attribut [Serializable] et que tu crées une classe dérivée, la classe dérivée ne pourra pas être Serializable.

    Ce que tu peux faire, c'est créer une classe qui hérite de ta classe abstraite et qui hérite de l'interface ISerializable. Ce sera donc à toi d'implémenter les membres qui rendront ta classe sérializable (Ca n'est pas très difficile et tu trouveras plein d'exemples sur google : c# implement ISerializable.

    Bien à toi

    Laurent

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Bonjour et merci

    Finalement, j'ai procédé autrement : Je sérialise les graphiques entiers dans des fichiers à part. C'est un peu hacky, pompeux, etc mais ça fonctionne et c'est l'essentiel.

    Merci encore !

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

Discussions similaires

  1. [C#] Comment sérialiser une classe abstraite?
    Par akkaBella dans le forum C#
    Réponses: 1
    Dernier message: 14/09/2006, 16h12
  2. "Instancier" une classe abstraite
    Par alex6891 dans le forum Langage
    Réponses: 5
    Dernier message: 03/05/2006, 10h56
  3. [Débutant]Passer une classe abstraite en paramètre
    Par Invité dans le forum Débuter
    Réponses: 2
    Dernier message: 06/01/2006, 17h56
  4. Réponses: 2
    Dernier message: 27/03/2005, 16h09
  5. [Debutant] Une classe abstraite en parametre ?
    Par kiroukou dans le forum Débuter
    Réponses: 8
    Dernier message: 03/02/2005, 15h05

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