Comment utiliser un tableau(n) d'instance de class ?

Résolu
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 7 déc. 2010 à 10:14
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 - 7 déc. 2010 à 11:03
Bonjour,

je retrouve pas cette méthode que j'utilisais en vb6, il dois y avoir certainement une méthode .net extra efficace pour remplacer mon code ?

    Shared METHODES() As clsMethode = Nothing

    Class clsMethode
        Public Shared NOM As String
        Public Shared PARAMETRES() As String
    End Class

    Structure PARAMETRES_METHODE
        Shared Sub AjouterMethode(ByVal NomMethode As String, ByVal NomParametres() As String)
            Dim curID As Integer

            If METHODES Is Nothing Then
                ReDim METHODES(0)                
            Else
                ReDim Preserve METHODES(METHODES.Length)                
            End If
            curID = (METHODES.Length - 1)

            METHODES(curID).NOM = NomMethode
            METHODES(curID).PARAMETRES = NomParametres
            ...

7 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
7 déc. 2010 à 10:48
1 --> Evites les structures.
2 --> Mets en public ou internal METHODES
3 --> Evites d'ecrire le nom des variables, class, fonction, structure en majuscules

public Shared METHODES As New Dictionary(Of String, List(of Parametre))


Serait plus adapté et performant, il me semble
3
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
7 déc. 2010 à 11:03
C'est good ^^

Methodes est en partage interne
Parametres_Methode.AjouterMethode est en partage public

Merci pour tout !

Public Class clsTest
    Protected Shared Methodes As New Dictionary(Of String, String())

    Public Class Parametres_Methode
        Shared Sub AjouterMethode(ByVal NomMethode As String, ByVal NomParametres() As String)
            Methodes.Add(NomMethode, NomParametres)
        End Sub
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
7 déc. 2010 à 10:27
Salut,

Array.Copy(YourArray, temp, YourArray.Length)


Mais il est préférable d'utiliser si tu peux des List(of T) c'est plus pratique. Pas de recopie pas de probleme de boxing unboxing, ....
Plus de méthodes disponibles.

Bon dev
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
7 déc. 2010 à 10:34
J'vais essayer List ^^

J'ai pondu ceci, mais quand j'passe mon pointeur de souris au dessus
de METHODES, rien ne s'affiche !? je ne peut pas contrôler en direct sa
contenance, pourquoi ?

    Shared METHODES As New Dictionary(Of String, Array)

    Structure PARAMETRES_METHODE
        Shared Sub AjouterMethode(ByVal NomMethode As String, ByVal NomParametres() As String)
            METHODES.Add(NomMethode, NomParametres)
        End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
7 déc. 2010 à 10:43
En mode espion, il m'affiche ceci:
'METHODES' n'est pas déclaré. Il peut être inaccessible en raison de son niveau de protection.

Pourtant il n'y a aucune erreur !
Tout passe au pas-à-pas !
0
Duke49 Messages postés 552 Date d'inscription jeudi 12 octobre 2006 Statut Non membre Dernière intervention 24 janvier 2023 4
7 déc. 2010 à 10:47
Pourquoi je suis obligé de rajouter le parent (clsMethode) pour avoir accès au debug de METHODES depuis ma fonction AjouterMethode ?

Public Class clsMethode
    Shared METHODES As New Dictionary(Of String, String())
    
    Structure PARAMETRES_METHODE    
        Shared Sub AjouterMethode(ByVal NomMethode As String, ByVal NomParametres() As String)
            clsExtract.METHODES.Add(NomMethode, NomParametres)
        End Sub
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
7 déc. 2010 à 11:01
Pour ta question, structure est une structure interne à la classe clsMethode
0
Rejoignez-nous