Generics en .NET???

Résolu
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 7 juin 2006 à 17:07
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 - 8 juin 2006 à 08:45
Autre piti problème...

J'aurais besoin d'un solution pour ne pas donner explicitement le type d'une variable à une fonction
Ainsi je pourai lui passer n'importe quel objet en paramètre que ce soit des label ou des boutons etc..

J'ai recherché du coté des generics avec T mais ca ne marche pas, il me fait des erreurs de syntaxes....

J'aimerais une fonction du genre :
public T Fct(ref T item)
{
  T.Text = "Ce truc";
   return T;
}

Avec l'utilisation suivante :
Label lb1;
Button but1;

Fct(lb1);
Fct(but1);

Voila...j'espere qu'il y a une solution...sinon

Thx!

5 réponses

Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
7 juin 2006 à 18:35
Bon ben en faite je pense que je vais utiliser la classe qui en découle

J'en avait besoin en .NET pour les Label et les Boutons donc je vais directement utiliser le Type Control et tester si c'est l'un ou l'autre...c'est tous...

Merci beaucoup pour ta reponse kememe
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 juin 2006 à 17:30
bonjour

public void fct(ITextControl Control)
{
   Control.Text = "toto";
}

<hr />Cyril - MVS - MCP
0
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
7 juin 2006 à 17:36
Salut
Merci d'avoir repondu mais il ne trouve pas ITextControl
C'est dans quel using??

   protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Label Label2;
    protected System.Web.UI.WebControls.Label Label3;
    protected System.Web.UI.WebControls.Label Label4;
    protected System.Web.UI.WebControls.Button Button1;
 
    private void fct(ITextControl ct)
    {
      ct.Text="coucou C moi";
    }

        private void Page_Load(object sender, System.EventArgs e)
        {
      fct(Label1);
      fct(Button1);
    }

Voila en gros ce que j'aimerais bien faire...
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 juin 2006 à 21:28
Je pensais à System.Web.UI.ITextControl mais tu peux pas utiliser ca puisque Button n'implémente pas cette Interface ...

donc ta solution est ce qu'il y a de mieux à faire, de toute facon puisque la seule base comune est Control et qu'il n'y a pas la propriété Text tu es obligé de caster ton controle ...

<hr />Cyril - MVS - MCP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Coolpix08 Messages postés 150 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 21 décembre 2007 2
8 juin 2006 à 08:45
Oui c'est ce que j'ai remarqué en mattant la hiérarchie des classes, c'est pour ca.
Par contre faudra que je me renseigne sur les Interfaces que je ne connais pas du tt. Juste de nom mais je n'en est jamais utilisé....
Je crois que j'ai encore beaucoup à apprendre sur les basses profondeurs de la programmation...

Thx! Peut etre à la prochaine question
0
Rejoignez-nous