instanciation d'un délégué deux fois
Bonjour,
Soit le délégué suivant et son initialisation
Code:
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:
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:
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:
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:
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:
1 2 3
|
isValid += new isValidDelegate(CheckControl); |
Idem si j'écris
Code:
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
instanciation d'un delegué deux fois
[Résolu]
Merci beaucoup de ta réponse.
Je pensais en effet que l'opérateur += n'avait rien à voir avec l'opérateur d'affectation que l'on peut utiliser dans des expressions, ce qui est faux.
A présent tout est plus clair.
Bien cordialement.
new_wave