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 :

[.NET][C#] mise en mémoire d'une classe


Sujet :

C#

  1. #1
    AB-
    AB- est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [.NET][C#] mise en mémoire d'une classe
    Bonjour,

    j'ai un soucis dans mon code.
    Je souhaite serialiser une classe afin de la mettre en mémoire et de la recharger ultérieurement.

    Le problème vient de la classe qui possède un élément de type string[,] qui n'est pas sérializable en l'état.

    Après plusieurs essais infructueux et une recherche sur le net, je m'adresse à vous, en espérant trouver réponse.

    J'ai comme contrainte supplémentaire d'avoir un objet serialize de type xml et non binaire, car j'enregistre tout cela dans un document word.

    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
    namespace WORD.Class 
    {
        //[Serializable]
        [System.SerializableAttribute()]
        public class TableauPartie //: ISerializable
        {
            //public pour permettre la serialisation
            private static string[,] tableauIdPersonne;//= new string();
            private static string[,] tableauIdPersonneTmp;//= new string();
     
            int nbLigne = 0;
            public TableauPartie()
            {
            }
     
            //public void GetObjectData(SerializationInfo info, StreamingContext context) 
            //{
            //// SERIALISATION
            //    info.AddValue("tableauIdPersonne", tableauIdPersonne); 
     
            //}
     
            //public TableauPartie(SerializationInfo info, StreamingContext context)
            //    {
            //    // DESERIALISATION
            //        tableauIdPersonne = (string[,])info.GetValue("tableauIdPersonne", tableauIdPersonne.GetType()); 
     
            //    } 
            [System.Xml.Serialization.XmlAttributeAttribute(DataType="tableauIdPersonne")]
            public string[,] TableauIdPersonne 
            {
                get {
                    return tableauIdPersonne;
                }
                set {
                    tableauIdPersonne = value;
                }
            }
        }
    }

  2. #2
    AB-
    AB- est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Excusez-moi, le titre a été rectifié comme noté dans les règles d'utilisation.

  3. #3
    AB-
    AB- est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Personne pour me décoincer ?
    s'il vous plaît...

  4. #4
    Candidat au Club
    Inscrit en
    Février 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Salut,
    Pour les tableaux mulitdimensions (en [,]), je ne sais pas comment faire mais pour les tableaux en escaliers tu peux faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    /* Set the NestingLevel for each array. The first 
       attribute (NestingLevel = 0) is optional. */
       [XmlArrayItem(ElementName = "tree", NestingLevel = 0)]
       [XmlArrayItem(ElementName = "branch", NestingLevel = 1)]
       [XmlArrayItem(ElementName = "leaf",NestingLevel = 2)]
       public string[][][] TreeArray;
    ElementName est facultatif et le premier niveau aussi.

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Regardes un peu du côté de cet attribut
    Classe XmlArrayAttribute
    Pour le bien de ceux qui vous lisent, ayez à coeur le respect du forum et de ses règles

  6. #6
    AB-
    AB- est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup de votre aide.

    au niveau de la classe XmlArrayAttribute, je n'ai pas reussi a l'utiliser dans mon cas.

    Je me suis résolu à transformer mon tableau multidimension en tableau en escalier.

    Maintenant, ca fonctionne.

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

Discussions similaires

  1. [ASP.NET] Non mise en cache d'une image
    Par Azephel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/09/2007, 12h36
  2. [VB.NET 2005] Parcourir les propriétes d'une Class
    Par ricil78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2007, 21h47
  3. [.NET 2.0] Probleme Event d'une classe
    Par Aspic dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/03/2007, 07h58
  4. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 13h49
  5. [VB.NET] Server.MapPath et Session dans une classe
    Par nancy54 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/09/2004, 14h23

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