begin process at 2010 03 20 15:54:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

XML

 > 

Serialisation d'objet avec tableau a 2 dimensions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Serialisation d'objet avec tableau a 2 dimensions

lundi 12 janvier 2009 à 12:00:30 | Serialisation d'objet avec tableau a 2 dimensions

elguevel

Bonjour a tous,

 

Je suis en train de faire de la sérialisation XML avec System.Xml.Serialization sous Visual Basic .Net 2008.

Mon problème est que j'ai une classe qui contient un tableau (2 dimensions) d'objet.

Lorsque je sérialise cette classe j'ai un message « Une erreur s'est produite lors de la réflexion du type 'Cuve'».

 

Toute mes classes sont déclarés avec <System.Serializable()> et elles contiennent toutes un constructeur sans argument ( Public Sub New() ).

 

Si j'exclue le tableau de ma classe alors pas de probleme, la serialisation se passe sans probleme.

 

Infos. :

 

Le programme est assez complexe, je l'ai donc simplifié ici pour que vous n'ayez que l'essentiel du problème.

 

Cuve est une classe qui gere un tableau d'objet de type Cellule.

 

Donc probleme :

-        Je crée ma cuve

-        Cuve dimensionne mon tableau (grille) et le rempli d'objets Cellules

-        Je serialise ensuite la cuve et le programme plante sur :

Dim serializer AsNew XmlSerializer(GetType(Cuve))

 

Class Cellule:

--------------

 

<System.Serializable()> _

Public Class Cellule

 

#Region "Attributs"

 

    Private _Nom AsString          ' Nom de la cellule

    Private _Enabled AsBoolean     ' Cellule active ?

 

#End Region

 

#Region "Proprietes"

 

    Public Property Nom() AsString

        Get

            Return _Nom

        End Get

        Set(ByVal value AsString)

            _Nom = value           

        End Set

    End Property

 

    Public Property Enabled() AsBoolean

        Get

            Return _Enabled

        End Get

        Set(ByVal value AsBoolean)

            _Enabled = value           

        End Set

    End Property

 

#End Region

 

#Region "Constructeurs"

 

    Public Sub New()

 

    End Sub

 

    Public Sub New(ByVal Nom AsString, ByVal Active AsBoolean)

        Me._Nom = Nom

        Me._Enabled = Active

    End Sub

 

#End Region

 

End Class

 

Classe Cuve

-----------

 

<System.Serializable()> _

Public Class Cuve

 

#Region "Attributs"

 

    Private _Cellules As Cellule(,)             ' Conteneur de cellules

    Private _Nom AsString                      ' Nom de la cuve

    Private _Factor AsInteger                  ' Nombre cellule sur un coté

 

#End Region

 

#Region "Proprietes"

 

    Public Property Nom() AsString

        Get

            Return _Nom

        End Get

        Set(ByVal value AsString)

            _Nom = value

        End Set

    End Property

 

    Public Property Grille() As Cellule(,)

        Get

            Return _Cellules

        End Get

        Set(ByVal value As Cellule(,))

            _Cellules = value

        End Set

    End Property

 

#End Region

 

#Region "Methode"

 

    ' Ajoute un objet cellule a la grille

    Public Sub AjouteCellule(ByVal nom AsString, ByVal CoordX AsInteger, ByVal CoordY AsInteger)

        Dim cell AsNew Cellule(nom, False)

        _Cellules(CoordX, CoordY) = cell

    End Sub

 

    ' Initialise la grille en la remplissant des objets cellules

    Public Sub InitialiseCellules()

        Dim Factor AsInteger = Me._Factor

        Dim cptCell AsInteger = 0

 

        ReDim _Cellules(_Factor, _Factor)

 

        For x AsInteger = 0 To Factor

           For y AsInteger = 0 To Factor

                AjouteCellule(String.Format("ASSEMBLAGE-{0}", cptCell), x, y)

                cptCell += 1

            Next

        Next

    End Sub

 

#End Region

 

#Region "Constucteurs"

 

    Public Sub New()

 

    End Sub

 

    Public Sub New(ByVal Nom AsString, ByVal Factor AsInteger)

        MyClass.New()

 

        ' Nom de la cuve

        Me._Nom = Nom

 

        ' Cellules de la cuve

        Me._Factor = Factor

 

        ' Rempli la grille

        InitialiseCellules()

    End Sub

 

#End Region

 

End Class

 

 

Exemple de methode qui crée la cuve et serialise l'objet :

 

' Creation des objets

        Dim C AsNew Cuve("Nouvelle cuve", 15) ' Crée une grille de 15 x 15 dans la cuve

        Dim serializer AsNew XmlSerializer(GetType(Cuve)) ' ERREUR ICI

 

        ' Creation fichier

        Dim fichier As FileStream = New FileStream("c:\temp\serialise.log", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)

 

        ' Serialisation dans le fichier

        serializer.Serialize(fichier, C)

 

 



 /\_/\
( o.o ) ~ ElGuevel ~
 > ^ <


Cette discussion est classée dans : public, end, cellule, region, cuve


Répondre à ce message

Sujets en rapport avec ce message

question controle utilsateur .net [ par Apophis ] Bonjour,J'ai un problème dans mon usercontrol,je précise je suis débutant en .net et donc ca n'a probablement rien à voir avec le controle utilisateur timer vba [ par robmor ] bonjour !quelqu'un pourrait-il me dire pourquoi cet essai ne marche pas (je voudrais créer un timer sous excel mais j'ai un peu du mal....):Public Sub [VB.NET] raffraichir une listbox [ par gregorian ] Bonjour, Dans un programme que je suis entrain d'écrire qui gere une caserne de pompier, J'ai un petit souci lors du raffraichissement d'une listbox c New Tableau [ par Anotine ] Bonjour, pour illuster mon problème j'ai fais ce petit bout de code dont la fonction Test() ajoute et définit quelques valeurs. Mon problème est l code menu fait avec direct draw [ par DarklordBioopo ] bonjour,je viens de realiser mon premier code en direct draw,et j'aimerais que qqun le regarde et me dise coment l'ameliorer.Public bRunning As Boolea [VB.NET][ASP.NET] Propriété Type CollectionBase et page.aspx [ par chrisisis ] [VB.NET][ASP.NET] Propriété Type CollectionBase et page.aspx Bonjour, J'ai une classe WebPage avec plusieurs propriétés de type string et une pr Infos tags dans fichier texte. [ par ratel3 ] Bonjour.Je cherche à récupérer les infos des tags mp3 dans un fichier texte pur. Si le texte est lisible, il est plein de caractères cachés rendant sa Public Type et arguments [ par curl ] Bonjour,Je n'arrive pas à compiler mon programme:J'ai plusieurs types de données, que j'appelle "requetes"Toutes ces requetes sont définis dans un 'mo déclaration de variable dans une classe [ par Emcy ] Voici mon Code :   Code:  Imports System  Imports System.Drawing  Imports System.Windows.Forms  Imports System.ComponentModel  Imports System.Drawing. Création d'attributs sur controle [ par Emcy ] Bonjours, j'ai créer un composant à partir du controle Label. Je voudrais ajouter les propriétés Grid.X et Grid.YLe code ci-dessous fonctionne (j'arri


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales