Deux indeurs : même paramètres, valeur de retour differentes

cs_ToxizZ Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 2 février 2006 - 1 févr. 2006 à 17:54
cs_ToxizZ Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 2 février 2006 - 2 févr. 2006 à 15:38
Bonjour a tous,


j'aimerais créer dans mon application, deux indexeurs, chacun prenant en paramètre un string,


mais le problème est que j'aimerais que l'un retour un Object de la class Acteur et l'autre, un string.





Voici mon code :



Code:, ----
public string this[string n]

{

set { TabActeurs.Add(new Acteur(n, value)); }

}







Cet indexeur a comme type de retour un string pour que le value soit de type string aussi.






Code:, ----
public string this[string n]

{

get

{

for (int i = 0; i < TabActeurs.Count; i++)

{

Acteur acteur = (Acteur)TabActeurs[i];

if (acteur.Nom == n)

return acteur;

}

return new Acteur();

}

}







Le compilateur me dit :



Code:, ----
Type 'Application1.Acteurs' already defines a member called 'this' with the same parameter types







Est-ce que quelqu'un aurait une solution ?





PS : On m'a dit ca existait (mais on ne veux pas me dire cmt )

2 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
2 févr. 2006 à 06:55
Salut, tu t'es pas trompé dans l'exemple là, tes deux indexeurs ont la même valeur de retour.. !?

Sinon, les indexeurs étant en quelque sorte des propriètés et les propriètés étant des fonctions, leurs signatures doivent se différencier par autre chose que la valeur de retour, sinon le compilateur ne peut pas savoir quelle fonction tu appelles.
0
cs_ToxizZ Messages postés 2 Date d'inscription dimanche 16 novembre 2003 Statut Membre Dernière intervention 2 février 2006
2 févr. 2006 à 15:38
LOL

Merci pour le conseil.

Je sais que c est pas permit de faire ca mais je cherche une solution
pr pouvoir le faire et je sais qu il est possible de la faire.
0
Rejoignez-nous