Bonjour,

Soit le délégué suivant et son initialisation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public delegate bool isValidDelegate();
 
public isValidDelegate isValid= null;
Si j'ajoute une méthode nommée CheckStateValid à ce delegué ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
isValid += new isValidDelegate(CheckStateValid);
et qu'ensuite , j'ajoute une nouvelle méthode vers lequel pointe l'instance isValid du délégué isValidDelegate ainsi

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
isValid += CheckControl;
Je lis que dans le deuxième cas où j'ajoute la méthode CheckControl , c'est comme ci implicitement j'avais écris l'instruction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
isValid += new isValidDelegate(CheckControl);
Ce que je ne comprends pas, c'est l'usage de l'opérateur new une deuxième fois .

Est ce que je dois créer une nouvelle instance du delegué isValidDelegate à chaque fois que je j'ajoute une nouvelle méthode vers lequel une de ses instances déjà créée doit pointer?

A mon sens, non, puisque j'ai déjà crée l'instance isValid par l'instruction.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
isValid += new isValidDelegate(CheckStateValid);
Que permet de faire donc l'opérateur new , de créer une nouvelle instance de quoi, lorsque j'écris cette instruction?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
isValid += new isValidDelegate(CheckControl);
Idem si j'écris
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
isValid -= new isValidDelegate(CheckStateValid);
Pour supprimer la méthode CheckState Valid, pour qu'elle ne soit plus pointée par le délégué.

Quel est l'utilité de l'usage de l'opérateur new.

Merci beaucoup de votre réponse sur ces points,

Cordialement.

new_wave