IndexOf Access of shared member, constant member

Résolu
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012 - 13 déc. 2006 à 12:39
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012 - 14 déc. 2006 à 06:03
I got this warning
Warning    2    Access of shared member, constant member, enum member or nested type through an instance; qualifying expression will not be evaluated.
The warning is on IndexOf
How can I solve this, I never accept any warning on my programmation....

    Private Sub ChargerTableau()
        Dim myparametre() As String = parametre(1).Trim.Split(" ;".ToCharArray)

        Dim range As Excel.Range = worksheet.Range(myparametre(0) & CInt(myparametre(1)) + 1, myparametre(2) & CInt(myparametre(1)) + 1)
        Dim theArray As String() = modExcel.ConvertToStringArray(CType(range.Cells.Value, System.Array))

        For Each title As String In theArray

            With tableLayoutPanel1

                .Height = tableLayoutPanel1.Height + 28
                .Controls.Add(GetLabel(title))
                Dim g As Integer
                .Controls.Add(GetControl(worksheet.Range(modExcel.GetLetterFromNumber(theArray.IndexOf(theArray, title) + 1) & CInt(myparametre(1)) + 1).Validation))
                .RowCount = tableLayoutPanel1.RowCount + 1

            End With

        Next title

    End Sub

7 réponses

TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
13 déc. 2006 à 22:59
Utilise une ArrayList, les fonctions de recherche sont plus évoluées
sinon tu as raison , mais cette fonction est une fonction shared c'est à dire
qu'elle appartient à la classe, il faut écrire :
System.Array

.IndexOf(theArray, title)

Jcbé[^]
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 déc. 2006 à 13:18
Et en français ça donne quoi ??????????

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
13 déc. 2006 à 13:26
Erreur classique, il faut utiliser la methode avec la classe et non avec une instance de la classe.


Ca le fait par exemple avec System.Drawing.Color et d'autres....


Par contre, tu ne nous dit pas sur quelle ligne l'erreur s'est produite. Ca serait cool si tu veux qu'on t'aide.

Jcbé[^]
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
13 déc. 2006 à 15:48
En fait je l'avais dit, ces sur la ligne
.Controls.Add(GetControl(worksheet.Range(modExcel.GetLetterFromNumber(theArray.IndexOf(theArray, title) + 1)
Ces IndexOf qui produit l'erreur
0

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

Posez votre question
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
13 déc. 2006 à 20:28
Ca ne m'étonnes pas avec une telle accumulation d'instructions dans une seule ligne, dans ce genre de cas cela n'est pas "se déshonorer" que de créer des variables intermediaires qui permettent d'y voir plus clair et de permettre ultérieurement de faire des contrôles.


 


Pour ton problème, theArray.IndexOf(theArray, title) ne peut pas fonctionner, si tu cherche la première occurence de la chaine contenue par title il faut ecrire :
theArray.IndexOf(title) tout simplement !

Jcbé[^]
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
13 déc. 2006 à 22:04
NAh tu te trompe la, indexof n'accepte pas ce nombre d'argument... ma méthode fonctionne mais ces que sa me donne un warning. Ta methode par contre n'Est psa corecte elle donne une erreur overload resolution failed. lol
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
14 déc. 2006 à 06:03
MErci, sa réglé mon warning =:0)
0
Rejoignez-nous