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

VB.NET Discussion :

Déclaration anonyme ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut Déclaration anonyme ?
    Bonjour à tous !

    Je voudrais remplir dynamiquement une sortedlist en vb.net. Les objets de cette liste seront des tableaux de clsClasse (clsClasse étant la classe que j'ai développé).
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each strUnFichier In strTabFichiers()
     
         'Si la clé n'existe pas, on la créé avec son élément
         If Not slData.ContainsKey(strCurrentAG) Then
              slData.Add(strCurrentAG, New clsClasse)
         End If
     
    Next
    Le problème c'est qu'avec ce code je créé une liste de clsClasse, alors que moi je voudrais créer une liste de tableaux de clsClasse...

    Comment faire cela en utilisant des déclaration anonymes ?

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Par défaut
    Faire un new de ta classe avec des crochets pour dire que tu veux un tableau de ta classe en question, ça ne va pas ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    Non ça ne marche pas. Il n'y a ni crochets ni accolades en vb.net... enfin je ne crois pas...

    Petite précision, j'utilise vb.net 2003 (framework 1.1)...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Par défaut
    Pour moi c'est possible :
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Class MaClasse
    End Class
     
    dim essai(5) as MaClasse   ' Crée un tableau de 6 objets MaClasse (à Nothing pour l'instant)
    Rien ne t'empêche ensuite de mettre ton tableau dans une liste, voire même de faire un tableau à 2 dimensions.

    Pour des infos sur les tableaux en VB.NET : http://plasserre.developpez.com/v1-6tab.htm

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    Oui comme ça c'est possible. Mais je voulais le faire sans créer de variable (anonymement). Mais c'est pas grave.

    Par contre j'ai un autre soucis. Lorsque je créé mon tableau de ma classe clsClasse, je ne peux rien faire avec le tableau. L'affiche de la taille provoque une erreur : system.NullReferenceException (cf. image en pièce jointe).
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Main(ByVal cmdargs() As String)
            Dim tabFournisseurs() As clsFN
            MsgBox(tabFournisseurs.Length)
    end sub
    Je comprends pas pourquoi. Comment initialiser mon tableau ???
    Images attachées Images attachées  

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    413
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 413
    Par défaut
    Je ne comprend pas ton principe "de variable anonyme"...
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub uneFonction(ByVal unTableau() as Object)
    End Sub
     
    uneFonction(New Object(){Object1, Object2, Object3})
    C'est de quelque chose comme ça dont tu veux parler?


    Sinon pour ton erreur, c'est logique. Tu as déclaré une référence vers un tableau mais tu ne l'as pas initialisée, donc tabFournisseurs vaut Nothing.
    Soit tu lui donnes une taille directement
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim tabFournisseurs(5) As clsFN
    mais dans ce cas le tableau ne contient pas des objets clsFN mais seulement des références qui valent Nothing pour l'instant.
    Soit tu l'initialises directement
    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim tabFournisseurs() As clsFN = New clsFN() {New clsFN(), New clsFN()}

    Je te conseille d'aller jeter un oeil dans le lien que je t'ai donné plus haut, tout y est.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. subtilités déclaration fonctions anonymes
    Par Sharcoux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/08/2011, 14h58
  2. Linq déclaration Interface Anonyme
    Par neoncyber dans le forum VB.NET
    Réponses: 0
    Dernier message: 04/05/2010, 10h41
  3. Une déclaration pour la survie du jeu vidéo en France
    Par Freakazoid dans le forum DirectX
    Réponses: 1
    Dernier message: 30/10/2002, 14h31
  4. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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