Benutzer mit den meisten Antworten
Delegate / EventHandler Definition in interface

Frage
-
Hallo zusammen,
ich hatte bisher in meiner Klasse ein delegate/event wie folgt definiert:
public delegate void MyResultHandler(ISample sender); public event MyResultHandler MyResultEvent;
Meine Klasse implementiert jetzt aber ein Interface und ich möchte woanders nur noch Typen dieses Interfaces verarbeiten. Das heißt aber, ich muss irgendwie mein Delegate bzw. EventHandler in dieses Interface bekommen.
Wenn ich obigen Code-Ausschnitt in meine Interface-Definition aufnehme, compiliert es aber nicht mehr.
Die Frage ist daher, wie bekomme ich mein delegate/eventhandler in das Interface?
Antworten
-
Was hast du anderes gemacht als
http://msdn.microsoft.com/en-us/library/8627sbea(VS.71).aspx
public delegate void MyDelegate(); // delegate declaration
public interface I
{
event MyDelegate MyEvent;
void FireAway();
}- Als Antwort markiert SPDeveloperXP Freitag, 23. Juli 2010 13:05
Alle Antworten
-
Was hast du anderes gemacht als
http://msdn.microsoft.com/en-us/library/8627sbea(VS.71).aspx
public delegate void MyDelegate(); // delegate declaration
public interface I
{
event MyDelegate MyEvent;
void FireAway();
}- Als Antwort markiert SPDeveloperXP Freitag, 23. Juli 2010 13:05
-
Das delegate war in der Klasse implementiert, die das Interface allerdings nicht kannte.
Das Interface ist in einem separaten Projekt hinterlegt, welches von mehreren anderen Projekten referenziert wird. So muss ich bei Änderung der Schnittstelle nur an einer Stelle ändern.
-
Das delegate ist in der Klasse implementiert, die das Interface allerdings nicht kennt.
Das Interface ist in einem separaten Projekt hinterlegt, welches von mehreren anderen Projekten referenziert wird. So muss ich bei Änderung der Schnittstelle nur an einer Stelle ändern.
die 'gelegate' -Definition gehört dann auch in das 'separate Projekt'.
Die C# Regeln und Dokumentation sind eigentlich glasklar...