2013-06-18 8 views
5

W języku C#, podczas rejestracji obsługi zdarzeń, masz dwie opcje (btn jest typu System.Windows.Controls.Button)Jaka jest różnica między "btn.Click + = new RoutedEventHandler (ButtonClick)" i "btn.Click + = ButtonClick"?

btn.Click += new RoutedEventHandler (ButtonClick) i

btn.Click += ButtonClick.

Jaka jest różnica semantyczna między nimi a ich implikacjami?

+1

(Duplikat jest dla innego typu, ale to samo pytanie podstawowe.) –

+0

Rzeczywiście, nie mogę znaleźć te wcześniejsze pytania z moich słów kluczowych. Dzięki za wskazanie - oznaczałem to jako duplikat. –

Odpowiedz

3

Jak rozumiem, nic, kompilator wnioskuje o typie delegata i automatycznie go zawija, jest to tylko skrótowy sposób robienia tego (ponieważ kto naprawdę chce to wszystko wpisać).

+0

Zasadniczo z tego, co właśnie robię, składnia z nowym słowem kluczowym działa dla frameworku 1.1, bez niego spowoduje błąd kompilatora, dlatego jest domyślny w intellisense. – simsim

+0

Tak, przypominam sobie, z tego powodu zawsze robię długą drogę. – Lloyd

1

Nie ma różnic. Aby zrozumieć te funkcje C#, należy przeczytać C# delegata i zdarzenia słowo kluczowe.

Powiązane problemy