Petit soucis d'imbrication de ArrayList

rbidocho Messages postés 41 Date d'inscription jeudi 7 juin 2007 Statut Membre Dernière intervention 15 septembre 2008 - 14 juin 2007 à 16:37
gordonbrown Messages postés 14 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 juin 2007 - 15 juin 2007 à 10:02
Bonjour,

Voilà, je suis en train de créer une classe qui me servira à passer des tableaux entre plusieurs form. Comme apparemment (si j'ai bien cherché !!??) on ne peut pas faire de Property sur des tableaux, je créer donc des Arraylist à la place de mes tableaux pour pouvoir récupérer la valeur via un Property.

Sur le tableau 1D pas de soucis : je donne et récupère la valeur sans problème
sur le Tableau 2D, les problème surviennent

Voici le code de ma classe :

Imports System
Imports System.Collections
Imports System.Windows.Forms
Imports Microsoft.VisualBasic

Namespace EssaiTableau
   Public Class ValeurTableau1DSingle ' Défini et redonne la valeur
        Private ZValeur As Single
        Public Sub New(ByVal TabValeur As Single)
            Valeur = TabValeur
        End Sub
        Property Valeur() As Single
            Get
                Return ZValeur
            End Get
            Set(ByVal value As Single)
                Zvaleur = value
            End Set
        End Property
    End Class
   
    Public Class Tableau1DSingle ' Fabrication d'un "Tableau" 1D
        Private T1DSingle As ArrayList
        Public Sub New()
            T1DSingle = New ArrayList()
        End Sub
        Public Function Add(ByVal Ind1 as Long, ByVal TabValeur As Single) As ValeurTableau1DSingle ' Assignation de la valeur avec un truc du genre Tab.add(i,valeur)
            Dim TabVal As New ValeurTableau1DSingle(TabValeur)
            T1DSingle.Insert(Ind1,TabVal)
            Add = TabVal
        End Function
        Public ReadOnly Property Item(ByVal Ind1 As Integer) As ValeurTableau1DSingle
            Get
                Item = (CType(T1DSingle.Item(Ind1), ValeurTableau1DSingle))
                ' Récupération de la valeur avec un truc du genre Tab.item(i).valeur
            End Get
        End Property
    End Class    
   
    Public Class Tableau2DSingle' Fabrication d'un "Tableau" 2D
   
        Private T2DSingle As ArrayList
        Private T1DSingle as ArrayList
   
        Public Sub New()
            T2DSingle = New ArrayList()
            T1DSingle = New ArrayList
        End Sub
   
        Public Function Add(ByVal Ind1 as Long, ByVal Ind2 as Long, ByVal TabValeur As Single) As ArrayList Assignation de la valeur avec un truc du genre Tab.add(i,j,valeur)
            Dim TabVal As New ValeurTableau1DSingle(TabValeur)
            T1DSingle.Insert(Ind2,TabVal)
            T2DSIngle.insert(Ind1,T1DSingle)
            Add = T2DSIngle
        End Function
   
        Public ReadOnly Property Item(ByVal Ind1 As Integer, ByVal Ind2 as Long) As ValeurTableau1DSingle
            Get
                Item = Ctype(CType(T2DSingle.Item(Ind1), ArrayList).Item(Ind2),ValeurTableau1DSingle)
                ' Récupération de la valeur avec un truc du genre Tab.item(i,j).valeur
            End Get
        End Property
   
    End Class    
End Namespace

je vois bien que mon soucis vient de la partie en rouge, mais je ne vois plus comment faire.

D'avance merci

RB

1 réponse

gordonbrown Messages postés 14 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 juin 2007
15 juin 2007 à 10:02
 
declaration des arraylists n'est pas la meme ?
           T2DSingle = New ArrayList()
           T1DSingle = New ArrayList
et
            T1DSingle.Insert(Ind2,TabVal)
            T2DSIngle.insert(Ind1,T1DSingle)
et
la deuxieme "insert" est en miniscule, peut etre une signe que ce n'est pas reconnu par la complilateur
et
0
Rejoignez-nous