Hallo,
Zitat von
Pseudemys Nelsoni:
mal abgesehen davon, dass ich nicht verstehe was delegaten in C# sind, bzw was sie mit Events zu tun haben, geb ich hier einfach mal ein Code-Beispiel von Delphi, dass ich gerne in C# hätte: ...
Das Problem hatte ich auch (ich bin ebenfalls von Delphi 5 auf Delphi 2005 und jetzt auf C# umgestiegen). Du musst Dich in der Tat dringend mit Delegates beschäftigen, weil sie auch
anstelle der Methoden-Pointer von Delphi verwendet werden.
Mir hat dabei folgende Lektüre geholfen:
Zitat:
Walter Doberenz, Thomas Gewinnus: Borland Delphi 2005 - Grundlagen, Profiwissen, Kochbuch. Hanser-Verlag 2005, ISBN 3-446-40202-0
Dieses Kochbuch hat m.E. eine erheblich bessere Qualität als die vorherigen Ausgaben und bezieht sich auf NET-Entwicklung mit Delphi. Kapitel 14.1 "Das Microsoft Event Pattern" erläutert den Zusammenhang zwischen Delegates und Events.
Zitat von
Khabarakh:
Na dann würde ich an deiner Stelle unbedingt mal "delegates" im Suchindex des SDKs eingeben.
Naja, das
SDK hilft für die Praxis gerade dann oft wenig, wenn man grundlegende Erläuterungen sucht.
Zu den vorgeschlagenen Codes: Diese sind im Prinzip OK, entsprechen aber nicht den MS-Vorschlägen, nach denen Delegates immer mit EventArgs verbunden werden sollen:
Zitat von
Khabarakh:
Code:
public delegate void DoSomethingDelegate(int i1, int i2);
// oder auch (Object sender, DoSomethingEventArgs e)
// wäre für Komponenten konformer, aber mehr Schreibaufwand ;)
Arbeitsanleitung
Aus Doberenz/Gewinnus (Kochbuch Delphi 2005), einem C#-Lehrbuch und NET-Doku habe ich ein
Verfahren zusammengestellt, das ich als Anlage beigefügt habe.
Viel Erfolg! Jürgen