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

C# Discussion :

méthode générique : contrainte sur les paramètres


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut méthode générique : contrainte sur les paramètres
    Bonjour,

    J'aimerais contraindre les paramètres d'une méthode générique à être soit de type T soit de type IEnumerable<T>. Comme il y un nombre indéterminé de paramètre, je souhaite utiliser le mot clé params.

    L'idéal serait donc d'écrire un truc du style :

    MaMethode<S>(params S) où S est soit T soit IEnumerable<T>.

    Je sent que ça n'est pas possible, mais je poste quand même au cas où...

    Si vous avez des idées...

    Merci.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    La surcharge de méthode ne conviendrait pas ?

  3. #3
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    Tu veux dire écrire autant de méthodes qu'il y a de signatures possibles ? Ca risque d'en faire un paquet...

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    J'ai lu un peu vite...

    Comme ça je ne sais pas en fait...

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 3
    Par défaut
    as tu essayé quelquechose du genre :

    (de tête)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MaMethode<S>(params S) where S : IEnumerable<T>
    MaMethode<S>(params S) where S : T

  6. #6
    maa
    maa est déconnecté
    Membre éclairé
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Par défaut
    Non, je voudrais pouvoir appeler ma méthode avec par exemple le premier argument de type T, le second de type IEnumerable<T>, le troisième de type T, etc...

Discussions similaires

  1. Modéle mixte avec contraintes sur les paramètres
    Par AstridG dans le forum SAS STAT
    Réponses: 6
    Dernier message: 18/02/2011, 10h46
  2. Contraintes sur les paramètres d'une régression
    Par geofnich dans le forum SAS STAT
    Réponses: 3
    Dernier message: 28/07/2010, 16h13
  3. lsqnonlin et contrainte sur les paramètres
    Par salseropom dans le forum MATLAB
    Réponses: 0
    Dernier message: 27/07/2009, 16h04
  4. [VB6]Question bête sur les paramètres optionels
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/10/2005, 20h33
  5. Réponses: 3
    Dernier message: 28/04/2005, 16h56

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