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 :

Création délégué avec ou sans new


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 85
    Par défaut Création délégué avec ou sans new
    Bonjour
    Une question me tarabuste. Elle a un air de déjà vu dans mon esprit, mais je reste sans réponse.
    En VB 2010, j'utilise un délégué, et je me demande s'il est nécessaire d'utiliser la clause new pour le créer ou non. En testant, les deux cas fonctionnent. Voici les codes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Delegate Sub D()
    Private X As D = New D(AddressOf F)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Delegate Sub D()
    Private X As D = AddressOf F
    Si un connaisseur peut m'expliquer, je lui serais reconnaissant.
    Merci par avance

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour
    Citation Envoyé par zworg Voir le message
    Si un connaisseur peut m'expliquer, je lui serais reconnaissant.
    Merci par avance

    De mémoire, et sous toutes réserves, les deux syntaxes sont valides, mais la première date de la version 1.0 du CLR. (ce qui date quand même un peu ....)

    Depuis la 2.0, c'est la deuxième qui doit être utilisée. En effet, l'objet (méthode) sur lequel pointe ton delegate existe, donc un new ne se justifie pas.

    Je ne suis pas certain à 100%, mais j'ai lu quelque chose de tout à fait similaire sur les event en C#, donc je pense qu'on peut le transposer aux delegate . (même sous VB.Net)

    En effet, il faut savoir qu'il y a peu de différence entre variable de type event delegate et variable de type delegate, c'est juste une indication de restriction à appliquer pour le compilateur : une variable event ne peut être appelée que depuis sa classe de déclaration, et le compilo lui adjoint deux accesseurs spécifiques, mais en dehors de cela c'est strictement identique.

  3. #3
    Membre confirmé
    Profil pro
    Développeur
    Inscrit en
    Mai 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Mai 2002
    Messages : 85
    Par défaut
    Ta réponse me satisfait.
    La première syntaxe provient des exemples que j'ai trouvé ça et là sur le net. C'est en cherchant sur MSDN que j'ai découvert la 2ème syntaxe.
    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A priori c'est la même évolution qu'en C# : depuis C# 2, les groupes de méthodes (i.e. noms de méthodes sans les arguments) sont implicitement convertibles en un delegate avec une signature compatible. Je suppose que VB a connu la même évolution...

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

Discussions similaires

  1. [1.x] Création de site Blanc avec Symfony sans duplication de code ?
    Par boby6killer dans le forum Symfony
    Réponses: 11
    Dernier message: 19/01/2011, 12h50
  2. avec ou sans new
    Par menthol34 dans le forum Langage
    Réponses: 2
    Dernier message: 16/05/2009, 14h34
  3. Réponses: 2
    Dernier message: 31/10/2008, 15h03
  4. [HTML] Création d'un site avec ou sans frame ?
    Par matimat2k4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 30
    Dernier message: 13/07/2008, 20h13
  5. L'operateur new, avec ou sans ?
    Par zi_omnislasher dans le forum C++
    Réponses: 11
    Dernier message: 28/09/2007, 10h21

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