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 :

[C#] Comment désérialiser une Hashtable ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Par défaut [C#] Comment désérialiser une Hashtable ?
    J'ai une exception lors de l'exécution pendant la désérialisation,
    depuis que j'ai ajouté un Hastable à mon objet.

    Il me dit que Hashtable ne peut être sérialisé car il descende IDictionnary.

    Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    public static void Enregistrer( string nomFichier, MonOBjet monObjet ) 
    {
      lock ( _lock )
      {
       StreamWriter stream = new StreamWriter( nomFichier, false ) ;
       XmlSerializer serializer = new XmlSerializer(typeof(MonOBjet )) ;
       serializer.Serialize( stream, monObjet ) ;
       stream.Close() ;
      }
    }
    Merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Septembre 2005
    Messages : 63
    Par défaut
    On peut voir à quoi ressemble MonObjet ?

  3. #3
    Membre confirmé Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Par défaut
    oui, bien sûr : mais cela fonctionnait avant d'ajouter le Hashtable.

    c'est un objet simple :
    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
     
    public class MonObjet 
    {
              public string Client ;		
              public string Vague ;
              public int Lot ;
             public ArrayList queueSortiesUtiles  ;
             public Hashtable queuesAnomalies  ;
             private static object _lock = new object() ;
     
    public static void Enregistrer( string nomFichier, MonObjet mo ) 
    {
    	lock ( _lock )
     {
         StreamWriter stream = new StreamWriter( nomFichier, false ) ;
         XmlSerializer serializer = new XmlSerializer(typeof(MonObjet )) ;
        serializer.Serialize( stream, mo ) ;
    	stream.Close() ;
      }
    		}
     
    public static MonObjet Lire( string nomFichier )
    		{
    MonObjet resultat = null ;
    	lock ( _lock )
    {
    StreamReader stream = new StreamReader( nomFichier ) ;
    XmlSerializer serializer = new XmlSerializer(typeof(Contexte)) ;
    resultat = (MonObjet )serializer.Deserialize( stream ) ;
    	stream.Close() ;
    }
     
    			return resultat ;
    		}
    }

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    dommage çà fonctionne très bien avec un BinaryFormatter

    Si tu tiens à une serialisation xml vaudrait peut être mieux remplacer ton hashtable par autrechose comme une DataTable

  5. #5
    Membre confirmé Avatar de luimême
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 176
    Par défaut
    finalement j'utilise BinaryFormatter

    Merci.

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

Discussions similaires

  1. Comment faire déconnecter les utilisateurs d'une base
    Par ENIT-Info dans le forum Access
    Réponses: 23
    Dernier message: 28/02/2017, 14h57
  2. Paradox 7 Comment trier et marquer données dans une DBgrid
    Par technico dans le forum Bases de données
    Réponses: 12
    Dernier message: 04/07/2004, 11h08
  3. comment faire fonctionner l'exe sur une autre machine
    Par brian79 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/05/2004, 14h00
  4. [Juridique] Comment réutiliser le code source d'une classe ?
    Par mathieu dans le forum Général Java
    Réponses: 8
    Dernier message: 17/05/2004, 13h40

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