event vs. delegate, event eigentlich unnötig ?
-
Hi, wäre cool wenn mir jemand erklären könnte was der Vorteil von Events sind, da ich doch die gleiche funktionalität auch mit nem normalen delegate erreiche.
Beispiel:
public delegate void MyEvent(object src, EventArgs e); MyEvent myevent = null; myevent += OnMyEvent; myevent(this,new EventArgs());
Die Funktion OnMyEvent wird jetzt jedesmal gerufen wenn ich myevent(..) aufrufe.
Ist das nicht genau das selbe wie mit dem "event" Keyword ?
Ich hoffe man versteht was ich meine ^^
Ach und noch eins, wie verhinder ich denn am elegantesten das sich eine Methode mehrmals auf ein delegate aufschaltet ?
Also:myevent += OnMyEvent; myevent += OnMyEvent;
Würde ja zu zwei Aufrufen von OnMyEvent führen...
mfG
-
Lesen bildet... Vor allem die Dokumentation kann _sehr_ hilfreich sein...
http://msdn2.microsoft.com/en-us/library/aa720047(VS.71).aspx
-
was auch immer mir der Beitrag sagen soll, ich sehe in dem MSDN Artikel keine Verwendung des Keywords "event":
Vergleiche:
public event SampleEventDelegate SampleEvent;Die Funktion von nem delegate is mir schon klar, das war auch nicht die Frage. Aber Danke trotzdem.
-
Wie gesagt, _lesen_ bildet, aber ist halt nicht mehr jedermanns Stärke.
Der Artikel heisst: Events and Delegates
Und das keywork "event" findest Du t.B. in beiden Codebeispielen, auf die der Basisartikel verlinkt, z.B. http://msdn2.microsoft.com/en-us/library/aa720051(VS.71).aspx und http://msdn2.microsoft.com/en-us/library/aa720442(VS.71).aspx
Der Artikel erklärt ausserdem den UNterschied zwischen event und delegate. Das eine ist ein Ereignis, das andere ein Typsicherer Funktionszeiger.
-
du bekommst vermutlich keine richtige antwort hier, weils es selber niemand weiß
nee im ernst, ich empfehle dir die seit, den Artikel "EIn denkwürdiges Ereignis"
http://www.microsoft.com/germany/msdn/library/net/csharp/CSharpLernen.mspx?mfr=true
da hast du weiter unten eine kleine Aufklärung
-
Ahja, der Artikel war in der Tat aufschlussreich.
-
ser1al_ausgeloggt schrieb:
du bekommst vermutlich keine richtige antwort hier, weils es selber niemand weiß
Aach Quark. Jeder VB-Programmierer weiß es. Nur die C#-Leute haben keinen Schimmer.
-
Elfblood schrieb:
Ahja, der Artikel war in der Tat aufschlussreich.
Jo, DIESER Link war echt gut.
skals is nur nen typischer unfreundlicher, verbitterter Nerd, der selber keine Ahnung hat^^
-
So ähnlich dacht ich mir das.... ^^
-
Elfblood schrieb:
So ähnlich dacht ich mir das.... ^^
Ich glaube, das war ironisch gemeint.
-
achne
-
dödödödö schrieb:
Elfblood schrieb:
Ahja, der Artikel war in der Tat aufschlussreich.
Jo, DIESER Link war echt gut.
skals is nur nen typischer unfreundlicher, verbitterter Nerd, der selber keine Ahnung hat^^unfreundlich, verbittert und Nerd geb ich ja zu. Von dem Rest distanzier ich mich.
-
....