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

VB.NET Discussion :

Erreur de sérialisation non détectée


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Erreur de sérialisation non détectée
    Bonjour j'ai un problème en sérialisation XML.

    J'ai une classe :

    <System.Serializable()> _
    Public Class MAJClass
    Private v As Version
    Private strChanges As String

    Public ReadOnly Property Version() As Version
    Get
    Return v
    End Get
    End Property

    Public ReadOnly Property Changes() As String
    Get
    Return strChanges
    End Get
    End Property

    Public Sub New()

    End Sub

    Public Sub New(ByVal Version As Version, ByVal Changes As String)
    v = Version
    strChanges = Changes
    End Sub
    End Class

    Dans une procédure voici ce que je fais :

    Dim mc As New MAJClass(VersionTextBox.Tag, ChangesTextBox.Text) ' Génere le MajClass a partir de la version et changements

    Dim xmls As New Xml.Serialization.XmlSerializer(GetType(MAJClass)) ' Créer un Sérialiseur typé MajClass
    Dim s As IO.Stream = New IO.FileStream(MajClassSaveFileDialog.FileName, IO.FileMode.OpenOrCreate) ' Créer un flux a partir du fichier

    xmls.Serialize(s, mc) ' Sérialize le MajClass
    xmls.Serialize(s, mc)
    s.Close() ' Ferme le fichier

    Pourtant une fois sérialisé quand j'ouvre le fichier XML il y a que les entete de déclarations DTD mais le reste est vide.

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Salut et bienvenue sur les forums de dvp

    A mon avis ça doit être car le serializer ne prend pas la peine de serialiser les propriétés ReadOnly. Essaye d'en faire qui soient accessibles en lecture/ecriture pour voir.

    A et puis, , ces balises aident à la compréhension du code ...

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Par défaut, le serializer Xml ne prend en compte que les propriétés publiques disposant à la fois d'un "setter" et d'un "getter" et sérialize la valeur de ces propriétés.

    Par ailleurs, IIRC, il ne reconstruit les objets qu'à partir d'un constructeur par défaut (public et sans arguments).

    Il ne prend pas en compte les membres non publics.

    ergo, le comportement de cette sérialisation est normal.

    Deux possibilités s'offrent à toi : modifier l'objet ou te créer un sérializeur Xml spécifique.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

Discussions similaires

  1. erreurs de segmentation non détectée
    Par Benoit_T dans le forum Langage
    Réponses: 5
    Dernier message: 21/07/2009, 14h47
  2. [ANTLR] source d'erreur non détectée
    Par cdm1024 dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 28/06/2009, 00h43
  3. Réponses: 3
    Dernier message: 27/06/2007, 11h18
  4. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 20h59
  5. [FLASH MX] Erreur : L'identifiant non sensible à ...
    Par blowdesign dans le forum Flash
    Réponses: 2
    Dernier message: 16/05/2004, 21h10

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