Laden...

Delegate eines unbekannten Types erstellen

Erstellt von filmee24 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.012 Views
F
filmee24 Themenstarter:in
51 Beiträge seit 2011
vor 5 Jahren
Delegate eines unbekannten Types erstellen

hallo,

ich schreibe gerade ein rpc-client/server framework und möchte events implementieren. das subscriben funktioniert, was mir probleme macht, ist es das event aufzurufen.

ich probiere mit EventInfo.AddEventHandler einen eventhandler hinzuzufügen. Nur leider hab ich das Problem ich weiß nicht welche delegate, da einerseits muss es eine eigene delegate sein, die den eventcall an den client weiterleitet und anderseits ist der typ der delegate aber unbekannt

C. Anders

P
64 Beiträge seit 2011
vor 5 Jahren

Moin,

ich gebe zu, ich habe keine Ahnung, was du meinst. Ich versuchs trozdem mal 😃

Ein Event hat gewöhnlich immer die gleiche Signatur

void EventName(EventArgs e, object sender)

wobei EventArgs die Basisklasse ist und davon abgelitten wird.

Wenn du eins erstellen willst, kanns du dir das mit dem Delegaten auch sparen. Das geht mittlerweile einfacher.


public EventHandler<EventArgs> MyEvent = new EventHandler<EventArgs>();
private void RaiseMyEvent(EventArgs e){
    MyEvent?.Invoke(e,this);
}

Wenn du dann das Event feuern willst, rufst du einfach RaiseMyEvent an der Stelle auf, wo du es loswerden willst.

Grüße

6.911 Beiträge seit 2009
vor 5 Jahren

Hallo filmee24,

ein Ereignis / Event ist "nur" ein Delegate und somit kannst du alle Methoden verwenden, welche der Delegat-Typ bietet.

Die Antwort ist genauso allgemein gehalten wie deine Frage 😉
Wie schaut denn das Ereignis aus, um gezieltere Antworten geben zu können.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"