2013-06-18 7 views
5

In C#, wenn ein Event-Handler registrieren, haben Sie zwei Möglichkeiten (btn vom Typ System.Windows.Controls.Button):Was ist der Unterschied zwischen "btn.Click + = new RoutedEventHandler (ButtonClick)" und "btn.Click + = ButtonClick"?

btn.Click += new RoutedEventHandler (ButtonClick) und

btn.Click += ButtonClick.

Was ist der semantische Unterschied zwischen ihnen und ihren Auswirkungen?

+1

(Das Duplikat ist für eine andere Art, aber es ist die gleiche grundlegende Frage.) –

+0

der Tat, ich nicht, diese vorherigen Fragen mit meinen Keywords gefunden. Danke, dass Sie darauf hingewiesen haben - ich habe es als Duplikat markiert. –

Antwort

3

Wie ich es verstanden habe, nichts, der Compiler wird den Delegate-Typ und wickeln Sie es für Sie automatisch, es ist nur eine Kurzform, es zu tun (denn wer möchte wirklich alles eingeben).

+0

grundsätzlich, von dem, was ich gerade rot, die Syntax mit neuen Schlüsselwort funktioniert für Framework 1.1, ohne es, wird es Compiler Fehler geben, deshalb ist es der Standard in Intellisense. – simsim

+0

Ja, ich erinnere mich, deswegen tendiere ich dazu, immer den langen Weg zu gehen. – Lloyd

1

Es gibt keine Unterschiede. Um diese C# -Funktion zu verstehen, sollten Sie C# Delegat und Ereignis Schlüsselwort lesen.

Verwandte Themen