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

Dotnet Discussion :

Overloader un delegate?


Sujet :

Dotnet

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 62
    Par défaut Overloader un delegate?
    Bonjour je me demandais si il étais possible d'overloader des delegate?

    J'ai essayé de la maniere suivante mais le framework fait son capricieux et je n'ai pas trouvé d'exemple sur le net.

    Voici un petit exemple de ce que je veux faire.
    La method qui sera appeler a signature différente.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public datatable Search(int val1);
    public datatable Search(int val1, int val2);
    public datatable Search(int val1, int val2, int val3);
    Je voudrait donc exposer 3 delegates
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public delegate datatable SearchHandler(int val1);
    public delegate datatable SearchHandler(int val1, int val2);
    public delegate datatable SearchHandler(int val1, int val2, int val3);
    Est-ce possible???

    Merci
    Pascal Wick
    Programmeur-Analyste Sr.

  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
    Oui, sans problème.

    Ceci dit, il peut parfois y avoir des problèmes (mais pas dans le cas que tu décris) de résolution de choix de delegate à l'exécution quand le nombre de paramètres est identique et que tu utilises une invocation indirecte du delegate.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 62
    Par défaut
    Comment?

    Merci

  4. #4
    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
    Exemple (en ne laissant que le minimum)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    protected delegate TResponse CallMethodWithGenericParamDelegate<TResponse, TParam>(TParam param) where TResponse : ResponseBase;
    protected delegate TResponse CallMethodWithStringParamDelegate<TResponse>(string param) where TResponse : ResponseBase;
     
    protected TResponse CallRetryByDelegate<TResponse>(Delegate delegateMethod, params object[] parameters) where TResponse : ResponseBase, new()
    {
    TResponse response = null;
    int retry = 0;
    Exception exception = null;
    do
    {
    try
    {
    response = (TResponse)delegateMethod.DynamicInvoke(parameters);
    retry = 0;
    ......



Discussions similaires

  1. Réponses: 9
    Dernier message: 24/05/2011, 18h59
  2. Delegation mis en application
    Par s3r3nity dans le forum C++
    Réponses: 19
    Dernier message: 16/05/2005, 02h07
  3. overload ...problem
    Par Didier100 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/07/2004, 11h16
  4. Règles de surcharge avec overload ?
    Par Benjamin GAGNEUX dans le forum Langage
    Réponses: 5
    Dernier message: 07/07/2004, 18h19
  5. Overload
    Par JMF dans le forum Langage
    Réponses: 8
    Dernier message: 18/04/2003, 10h19

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