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 :

Casting avancé (à propos des handlers)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut Casting avancé (à propos des handlers)
    Bonjour,

    J'ai deux Sub qui font presque exactement la même chose.

    Je voudrais savoir si il y a moyen de "merger" ces deux Sub, en passant en paramètre "AddHandler" ou "RemoveHandler".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub addHandlers()
        AddHandler txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed
        AddHandler cboCadastre.LostFocus, AddressOf Lotoccupe_Changed
        AddHandler cboDessec.LostFocus, AddressOf Lotoccupe_Changed
        [...]
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub removeHandlers()
        RemoveHandler txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed
        RemoveHandler cboCadastre.LostFocus, AddressOf Lotoccupe_Changed
        RemoveHandler cboDessec.LostFocus, AddressOf Lotoccupe_Changed
        [...]
    End Sub
    Merci à l'avance,
    g0ldenrno

  2. #2
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Biensur que oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub AddOrRemoveHandler(choix as String)
        If Choix = "Add" then
           AddHandler txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed
           AddHandler cboCadastre.LostFocus, AddressOf Lotoccupe_Changed
           AddHandler cboDessec.LostFocus, AddressOf Lotoccupe_Changed
        Elseif Choix = "Remove" then
           RemoveHandler txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed
           RemoveHandler cboCadastre.LostFocus, AddressOf Lotoccupe_Changed
           RemoveHandler cboDessec.LostFocus, AddressOf Lotoccupe_Changed
        End If
    End Sub
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    Justement je veux éviter d'avoir à réécrire les mêmes trucs deux fois.

    En fait il y a beaucoup que 3 composants et c'est pourquoi je veux éviter de les réécrire 2 fois afin d'alléger le code

    Je veux donc savoir si il y a moyen de caster une String en Function

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim str as String = "AddHandler"
    ["insert CType here"]str txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par g0ldenrno
    Justement je veux éviter d'avoir à réécrire les mêmes trucs deux fois.

    En fait il y a beaucoup que 3 composants et c'est pourquoi je veux éviter de les réécrire 2 fois afin d'alléger le code

    Je veux donc savoir si il y a moyen de caster une String en Function

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim str as String = "AddHandler"
    ["insert CType here"]str txtNolotocc.LostFocus, AddressOf Lotoccupe_Changed
    pas d'une manière simple non
    mais par contre sur la base d'aspic tu peux faire une sub spéciale

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private sub gerehandler(param as string)
    if param = "add" then add
    else remove
    add et remove étant tes 2 subs séparées

    enfin à mon avis tu cherches à réduire les lignes de codes et non à simplifier l'appel donc ca ne doit pas te convenir non plus

    sinon cherche si callbyname() peut t'aider mais comme le dit saumonagile c'est pas un objet, enfin si mais pas trop accessible en tant que tel je pense
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    Parfait merci pour le CallByName je regarde ça.

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    addhandler est une sub de l'objet System.ComponentModel.EventHandlerList
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Citation Envoyé par Aspic
    Biensur que oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub AddOrRemoveHandler(choix as String)
    End Sub
    Pour ce genre de situation, il existe les enum. C'est tout de même plus propre, non ?

    Pour le problème qui nous intéresse, je ne suis pas sûr qu'il existe une solution plus générique, étant donné que AddHandler est un mot-clé et pas une méthode d'une classe.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    C'est ce que je croyais...

    Merci!

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

Discussions similaires

  1. Question a propos des tableaux javascript et selecteur d'id, merci d'avance
    Par jchris51 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/10/2008, 17h21
  2. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03
  3. A propos des 'File management Functions' de Windows
    Par znaidi dans le forum Windows
    Réponses: 3
    Dernier message: 01/04/2003, 16h01
  4. A propos des modèles d'objet (avec sources)
    Par DevX dans le forum C++Builder
    Réponses: 14
    Dernier message: 01/12/2002, 12h22

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