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 Communication Foundation .NET Discussion :

Sérialiser une matrice : impossible


Sujet :

Windows Communication Foundation .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut Sérialiser une matrice : impossible
    Hi all,

    Je suis actuellement en train de programmer un service WCF en C++, et je viens de constater qu'il est impossible de sérialiser une matrice (un tableau multi-dimensionnel) d'entiers

    Le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array<int,2> ^ getMatricePiece(int numPiece);
    provoque l'exception suivante à l'exécution:

    An unhandled exception of type 'System.NotSupportedException' occurred in System.Runtime.Serialization.dll
    Additional information: Multi-dimensional arrays are not supported.
    Quequ'un a-t-il une idée de par quoi je pourrais bien remplacer cette matrice ?


  2. #2
    Expert confirmé
    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
    Par défaut
    Par un array d'array ? (et reconstruire la matrice une fois le message transmis).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    Hi

    J'y ai songé, mais je m'étais dis que c'était un peu réinventer la roue, surtout avec le framework 3.5, je ne pensais être réduit à devoir faire ce genre de bricolage

    Ceci dit si c'est le moyen le plus simple, ok.

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 273
    Par défaut
    Et en serialisation binaire ou XML ?

    Je comprends qu'une serialisation XML (donc basiquement un arbre de propriétés) puisse ne pas pouvoir représenter un arbre multi dimensionel.

    De toutes les façons, binaire ou xml ne changera pas vraiment le problème :
    WCF ne supporte que Array et Jagged Array (qui serait approprié à ton cas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //"jagged" array: array of(array of int)
    int[][] j2 = new int[3][];
    j2[0] = new int[] {1, 2, 3};			
    j2[1] = new int[] {1, 2, 3, 4, 5, 6};
    j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};

Discussions similaires

  1. Saisie d'une matrice impossible sur mon pc
    Par yfchauer dans le forum Windows XP
    Réponses: 2
    Dernier message: 11/04/2013, 22h18
  2. Saisie d'une matrice impossible sur mon pc
    Par yfchauer dans le forum Windows
    Réponses: 0
    Dernier message: 06/01/2013, 02h37
  3. [XL-2003] Saisie d'une matrice impossible sur mon pc sous excel
    Par yfchauer dans le forum Excel
    Réponses: 2
    Dernier message: 03/01/2013, 19h41
  4. Réponses: 4
    Dernier message: 22/11/2011, 13h35
  5. Réponses: 2
    Dernier message: 06/09/2009, 23h41

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