2010-12-17 7 views
27

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

+6

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. –

+0

(leicht ot) Wenn Sie 'button.Click - = button_Click 'funktioniert das genauso? – Greg

+0

@Greg, nicht ist es nicht ... Es wäre schön, aber ich kann damit leben;) –

Antwort

2

Die suggestion on Connect wurde als feste markiert, so sollte das neue Verhalten in der nächsten öffentlichen Build von VS11 enthalten sein

EDIT:. Gerade überprüft, es in der Tat in der Beta enthalten ist

1

Danke für die Klärung Ihrer Frage. Leider gibt es keine Möglichkeit, den Ereignis-Verbindungscode zu konfigurieren oder anzupassen, der vom C# -Sprachdienst generiert wird. Erschwerend kommt hinzu, dass die Funktion "Method Stub generieren" bei einer Event-Verbindung nicht funktioniert - obwohl dies der Fall sein sollte, und das ist bereits für die nächste Version von Visual Studio behoben.

Es tut uns leid, dass es für dieses spezielle Feature keine bessere Geschichte gibt. :-(

0
.

Ich benutze this Erweiterung für Visual Studio seit ein paar Jahren