J'ai toujours affecté des gestionnaires d'événements comme celui-ci, guidés par l'auto-complétion Intellisense.Différences dans l'affectation des gestionnaires d'événements C#?
RangeSelector.RangeChanged += new EventHandler(RangeSelector_RangeChanged);
J'ai récemment remarqué qu'un de mes collègues le faisait de cette façon.
RangeSelector.RangeChanged += RangeSelector_RangeChanged;
Les deux méthodes sont syntaxiquement correctes, compilent et se comportent comme prévu.
Quelles sont les différences, les avantages ou les inconvénients de ces méthodes. Est-ce qu'ils aboutissent au même code IL ou y a-t-il une différence subtile dont je dois être conscient?
En outre, si vous changez la signature de l'événement, il vous suffit de modifier le code en deux endroits, la déclaration de l'événement, et le gestionnaire lui-même, mais pas partout où vous affectez/désaffectez le gestionnaire. –
+1, Cependant quant à "devrait être préféré" c'est discutable. Si vous tapez + = suivi de deux fois le bouton de tabulation, vous générez la nouvelle syntaxe, je suis d'accord. Actuellement, le moyen le plus rapide d'ajouter un gestionnaire d'événements est de générer l'ancienne syntaxe avec l'aide des IDE. – AnthonyWJones
@Matthew Scharley: si vous utilisez le support de refactoring intégré de Visual Studio, vous n'aurez pas à vous soucier de telles choses. –