2010-12-17 11 views
27

Kiedy zapisać się do zdarzenia w kodzie, Visual Studio automatycznie uzupełnia kod po += i generuje odpowiednią procedurę obsługi zdarzenia:Czy mogę dostosować automatyczne generowanie zdarzeń zdarzeń w Visual Studio?

button.Click += new EventHandler(button_Click); 
//    ↑_____auto generated code_____↑ 

zauważyć, jak to wyraźnie tworzy instancję Delegat: chociaż grupy metod są niejawnie zamienny do delegaci od C# 2, zachowanie IDE nadal nie zmieniło się w VS2010.

Więc chciałbym wiedzieć, czy istnieje sposób na wygenerowanie takiego kodu zamiast tego?

button.Click += button_Click; 

EDIT
tylko, aby było jasne dla wszystkich: powyższy kod jest nie w pliku projektanta (I nie obchodzi który składnia jest używana, jeśli miało to miejsce). Jest to fragment kodu, który jest uruchamiany po wpisaniu += po nazwy zdarzenia i naciśnij TAB


EDIT2
Zgłosiłem to jako suggestion on Connect, można głosować na niego, jeśli chcemy także bieżące zachowanie się zmieniono

+6

Dlaczego uważasz, że ten kod jest w pliku projektanta? Czy nigdy nie ręcznie subskrybować wydarzenie? Nie obchodzi mnie kod, który jest w pliki projektanta, ale chcę, aby * mój * kod był jak najbardziej czytelny. Niejawna konwersja z grupy metod do delegowania wydaje u mnie jest czytelny, jawna instancja delegowania po prostu dodaje szumu. –

+0

(nieznacznie ot) Jeśli "button.Click - = button_Click" robi to samo w ten sam sposób? – Greg

+0

@Greg, nie to nie ... Byłoby miło, ale mogę z tym żyć;) –

Odpowiedz

2

suggestion on Connect został oznaczony jako stała, więc nowe zachowanie powinno być uwzględnione w kolejnej kompilacji publicznej VS11

EDIT:. Tylko sprawdzone, to jest rzeczywiście zawarte w beta

1

Dziękuję za wyjaśnienie Twojego pytania. Niestety, nie ma sposobu, aby skonfigurować lub dostosować kod podłączania zdarzeń generowany przez usługę języka C#. Co gorsza, funkcja generowania skrótów metodowych nie działa również przy podłączaniu zdarzeń - chociaż powinna i jest już ustalona dla następnej wersji programu Visual Studio.

Przepraszamy, że nie ma lepszej historii dla tej konkretnej funkcji. :-(

0
.

Używam this rozszerzenie Visual Studio od kilku lat.

Powiązane problemy