Bonjour,
Soit le code ci-dessous
Dans ce code, on remarque l'instanciation du delegué Printer par l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 // Declare a delegate. delegate void Printer(string s); class TestClass { static void Main() { // Instantiate the delegate type using an anonymous method. Printer p = delegate(string j) { System.Console.WriteLine(j); }; // Results from the anonymous delegate call. p("The delegate using the anonymous method is called."); // The delegate instantiation using a named method "DoWork". p = new Printer(TestClass.DoWork); // Results from the old style delegate call. p("The delegate using the named method is called."); } // The method associated with the named delegate. static void DoWork(string k) { System.Console.WriteLine(k); } }
Si je souhaite ajouter une autre fonction à ce délégué, on fait à nouveau
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 p = new Printer(TestClass.DoWork);
p= new Printer(nom d'une autre fonction possédant la signature du delegue Printer).
Pourquoi refaire new Printer (nom d'une autre fonction possédant la signature du délégué Printer)alors que le délégué est déjà instancié.
Je vous remercie beaucoup de votre réponse sur ce point.
Cordialement.
Bons voeux pour l'année 2017.
new_wave
Partager