delegate void DelegateTest();
DelegateTest delTest;
Quelle est la différence entre l'appel et delTest.Invoke()
delTest()
? Les deux exécuteraient le délégué sur le fil courant, non?Différence entre Delegate.Invoke et délégué()
delegate void DelegateTest();
DelegateTest delTest;
Quelle est la différence entre l'appel et delTest.Invoke()
delTest()
? Les deux exécuteraient le délégué sur le fil courant, non?Différence entre Delegate.Invoke et délégué()
La forme delTest()
est un assistant de compilation, en dessous, il est vraiment un appel à Invoke()
.
C'est correct. Les deux ont exactement le même résultat. Etant donné que vous avez correctement initialisé delTest
bien sûr.
Si 'delTest' est' null', les deux syntaxes conduisent au même résultat (dans ce cas, une exception 'NullReferenceException' est renvoyée de la ligne où l'appel est tenté). –
richard, j'ai presque dû enlever votre vote parce que vous avez mal orthographié "rotorua" dans votre profil;) –
@Rob: Oups, faute de frappe, maintenant corrigé. – Richard
@Richard: Que fait Invoke() en interne? Où réside cette méthode Invoke exactement? Je n'ai pas trouvé dans le fichier de métadonnées de Delegate ainsi que MultiCastDelegate. – Novice