l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012
-
7 déc. 2010 à 18:12
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012
-
8 déc. 2010 à 09:37
Bonjour,
j'ai vu quelques bout de code concernant des tableaux de delegate:
dans la classe 1
public delegate void task();
public static task[] tasks = { methodeA };
dans la classe 2
classe1.tasks[0]();
souci 1 la methodeA ne peut ni renvoyer de variable ni avoir d arguments, a part utliser des variable globales, que peut faire pour palier a ce pb?
souci 2 concernant les Dictionnary:
classe 1
public static Dictionary<String, task> task_list =
new Dictionary<string, task>();
dans classe 2:
classe1.task_list.Add("demo",methodeA);
DemoDelegate .task_list ["demo"]();
Pas possible de passer un argument ou renvoyer une valeur sans generer une erreur.
Shaolyne
Messages postés155Date d'inscriptionjeudi 12 mai 2005StatutMembreDernière intervention 8 mars 20111 8 déc. 2010 à 09:09
Bien le bonjour,
D'après ce que j'ai compris, tu aimerais pouvoir passer des paramètres et retourner des valeurs à des méthodes contenues dans un tableau, correct?
Si c'est le cas, il te suffit d'adapter ton delegué en fonction de tes besoin. En effet, si tu veux un tableau de méthodes prenant 2 int en paramètres et un bool en retour, tu dois alors faire ceci:
Problème 1 Classe1
public delegate bool task(int a, int b);
public static task[] tasks = { methodeA };
public static bool methodeA(int a, int b)
{
//Traitement
}
Classe2
bool IsTrue = classe1.tasks[0](1, 10);
Problème 2 La résolution du 1 te donnera le résultat excompté en 2 :)
l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012 8 déc. 2010 à 09:37
en fait methodeA et othermethode sont deux methode toute bete, leur code n'apporte rien j'ai fait deux methode pour "switcher" les tests avec et sans arguments plus vite