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 :

[C# 2.0]Comment émettre contrainte/heritage sur Généricité?


Sujet :

C#

  1. #1
    Membre régulier Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Points : 76
    Points
    76
    Par défaut [C# 2.0]Comment émettre contrainte/heritage sur Généricité?
    Bonjour à tous !

    Comme vous le savez sûrement en C# 2.0 on peut faire des classes génériques.
    ex : public class MaClasse<T> { }

    Et comme vous le savez sûrement aussi, on peut émettre des contraintes sur cette généricité. Par exemple le type en paramètre doit dériver et/ou implémenter une classe ou une interface déterminée.
    ex : public class MaClasse<T> where T : MaClasseParamBase, IParamBase {}

    Mais ce que j'imaerais faire, et je ne vois pas comment, c'est faire la même que mon dernier exemple mais avec MaClasse<T> qui dérive d'une autre classe...
    Je reformule histoire de bien me faire comprendre :
    1 - La classe MaClasse dérive de MaClasseBase : public class MaClasse : MaClasseBase {}
    2 - MaClasse possède une généricité avec un argument : public class MaClasse<T> : MaClasseBase {}
    3 - L'argument générique de MaClasse<T> doit avoir une contrainte d'héritage sur MaClasseParamBase : ???

    Merci d'avance pour votre aide !

    @++

    NeoMan

  2. #2
    Membre habitué Avatar de del-dongo
    Inscrit en
    Mai 2003
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 147
    Points : 183
    Points
    183
    Par défaut
    il faut le déclarer comme tu l'indiques....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public class Toto<T> : TotoBase where T : TotoParamBase
    {
     
    }
    qu'est ce qui ne fonctionne pas...?

  3. #3
    Membre régulier Avatar de NeoMan
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 171
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par del-dongo
    qu'est ce qui ne fonctionne pas...?
    Ben en fait rien juste moi qui était buté à ma première idée : mettre la contrainte de la généricité, puis la dérivation du contrôle... Mais comme souvent je fais les chose à l'envers...

    Merci pour cette remise à l'endroit !!

    @++

    NeoMan

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

Discussions similaires

  1. [FPDF] Comment mettre une annotation sur un Pdf déjà existant en PHP
    Par shequet dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 13/09/2005, 11h23
  2. [JBouton] Comment mettre une image sur un bouton ?
    Par Kyti dans le forum Composants
    Réponses: 6
    Dernier message: 11/03/2005, 16h08
  3. [Info]Comment mettre une servlet sur le web?
    Par fred9510 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 15/08/2004, 16h40
  4. Comment mettre un label sur une image
    Par dug dans le forum MFC
    Réponses: 3
    Dernier message: 07/04/2004, 10h40
  5. Réponses: 2
    Dernier message: 19/08/2003, 15h45

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