Der Unterschied zwischen = anEvent
und = new EventHandler(anEvent)
in C#
Lambda-Ausdrücke in C# vereinfachen die Syntax zum Hinzufügen von Ereignishandlern und führen zu zwei gängigen Vorgehensweisen:
1. = anEvent
button1.Click = anEvent;
anEvent
ein Delegat, der sich auf die Methode bezieht, die ausgeführt werden soll, wenn das Ereignis auftritt. Der Compiler leitet automatisch den richtigen Delegatentyp basierend auf der Methodensignatur ab. 2. = new EventHandler(anEvent)
button1.Click = new EventHandler(anEvent);
EventHandler
) an, bevor der Ereignishandler zugewiesen wird. Der Unterschied zwischen den beiden Methoden
Der grundlegende Unterschied liegt im delegierten Inferenzmechanismus:
Zusammenfassung: Sie sind gleichwertig
Beide Methoden können die gleiche Funktionalität erreichen. Für welche Methode Sie sich entscheiden, hängt von Ihren persönlichen Vorlieben ab. Verwenden Sie für C# 2.0- und höhere Projekte = anEvent
, um Ihren Code übersichtlicher zu gestalten, und = new EventHandler(anEvent)
, um Delegattypen explizit zu definieren.
Das obige ist der detaillierte Inhalt vonC#-Ereignisbehandlung: Was ist der Unterschied zwischen „=anEvent' und „=new EventHandler(anEvent)'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!