Ho sempre assegnato gestori di eventi come questo, guidati dal completamento automatico di Intellisense.Differenze nell'assegnazione dei gestori di eventi C#?
RangeSelector.RangeChanged += new EventHandler(RangeSelector_RangeChanged);
Ho notato di recente che uno dei miei colleghi lo fa in questo modo.
RangeSelector.RangeChanged += RangeSelector_RangeChanged;
Entrambi i metodi sono sintatticamente corretti, compilano e si comportano come previsto.
Quali sono le differenze, i vantaggi o gli svantaggi di questi metodi. Risultano nello stesso codice IL o c'è qualche sottile differenza di cui ho bisogno di essere a conoscenza?
Inoltre, se si modifica la firma dell'evento, è sufficiente modificare il codice in due punti, la dichiarazione di evento, e il gestore stesso, ma non ovunque si assegni/deassegni il gestore. –
+1, Tuttavia per "dovrebbe essere preferibile" questo è discutibile. Se digitando + = seguito premendo due volte il tasto tab generava la sintassi più recente, sarei d'accordo. Attualmente il modo più rapido per aggiungere un gestore di eventi è generare la sintassi più vecchia con l'aiuto degli IDE. – AnthonyWJones
@Matthew Scharley: se si utilizza il supporto del refactoring incorporato di Visual Studio, non ci si deve preoccupare di queste cose. –