Indiquer qu'un string est une fonction a appelé [C#]
therainbow3
Messages postés50Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention25 mai 2010
-
19 mai 2008 à 14:54
Liverion
Messages postés296Date d'inscriptionmardi 22 avril 2008StatutMembreDernière intervention18 août 2008
-
20 mai 2008 à 10:47
Bonjour,
voilà j'aimerais appeler une fonction parmi 5 suivant sont indices par exemple: getImage1(), getImage2() etc.
J'ai pensé pour me simplifier les choses faire incrémenter un entier i dans un string par exemple:
public string toString()
{
return "getImage"+ i +"()";
}
et j'utilise cette fonction à l'endroit où je veux appeler cette fonction. Seulement voilà il ne comprend pas que c'est une fonction a appelé et me l'écrit comme étant un string ce qui est logique mais pas ce que je veux. ^^
therainbow3
Messages postés50Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention25 mai 2010 19 mai 2008 à 16:36
Je n'écris pas les 5 lignes simplement parce qu'en faite j'utilise une fonction que j'appelle autant de fois qu'il y a de fonction getImage() mais à chaque fois que je l'appelle il incrémente i afin d'utiliser le getImage suivant. je sais pas si je suis très claire.
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 19 mai 2008 à 16:42
ok... dans ce cas, le plus simple c'est d'utilisé des delegates...
genre :
GetImageDelegate[] getImageDelegate;
getImageDelegate[0] = new getImageDelegate(getImage1());
getImageDelegate[1] = new getImageDelegate(getImage2());
getImageDelegate[2] = new getImageDelegate(getImage3());
getImageDelegate[3] = new getImageDelegate(getImage4());
getImageDelegate[4] = new getImageDelegate(getImage5());
et dans ta boucle :
for (int i =0; i<5; i++) {
getImageDelegate[i].Invoke();
}
therainbow3
Messages postés50Date d'inscriptionvendredi 14 mars 2008StatutMembreDernière intervention25 mai 2010 20 mai 2008 à 08:44
j'ai un petit problème il me dit qu'il y a une erreur à ce niveau pour chaque delegate:
getImageDelegate[0] = new getImageDelegate(getImage1());
l'erreur est la suivante: Nom de Méthode attendu.
Hors getImage1() est bien une méthode dans cette classe.