Wenn Sie auf ein Ereignis in Code zu abonnieren, schließt Visual Studio automatisch den Code nach +=
und erzeugt die entsprechende Ereignisbehandlungsroutine:Kann ich die automatische Generierung von Ereignishandlern in Visual Studio anpassen?
button.Click += new EventHandler(button_Click);
// ↑_____auto generated code_____↑
Beachten Sie, wie es die Delegatinstanz explizit erstellt: obwohl Methode Gruppen implizit umgewandelt werden können delegiert seit C# 2, hat das IDE-Verhalten in VS2010 noch nicht geändert.
Also würde ich gerne wissen, gibt es eine Möglichkeit, Code wie dieser stattdessen zu generieren?
button.Click += button_Click;
EDIT
nur Dinge jedem klar zu machen: Der Code oben ist nicht in einer Designer-Datei (ich würde es egal, welche Syntax verwendet wird, wenn es der Fall ist). Es ist der Code-Schnipsel, die ausgelöst wird, wenn Sie +=
nach einem Ereignis Namen ein und drücken Sie TAB
EDIT2
Ich meldete dies als suggestion on Connect, können Sie für ihn stimmen, wenn Sie auch das aktuelle Verhalten sein wollen geändert
Warum nehmen Sie an, dieser Code ist in einer Designer-Datei? Haben Sie jemals manuell abonnieren ein Ereignis? Ich interessiere mich nicht für Code, der ist Designer-Dateien, aber ich möchte, dass * mein * Code so lesbar wie möglich ist Die implizite Konvertierung von der Methodengruppe zum Delegierten scheint sehr m zu sein Für mich lesbar, fügt die explizite Delegierteninstanziierung nur Rauschen hinzu. –
(leicht ot) Wenn Sie 'button.Click - = button_Click 'funktioniert das genauso? – Greg
@Greg, nicht ist es nicht ... Es wäre schön, aber ich kann damit leben;) –