Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Delegate eines unbekannten Types erstellen
filmee24
myCSharp.de - Member



Dabei seit:
Beiträge: 57

Themenstarter:

Delegate eines unbekannten Types erstellen

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
panicJonny
myCSharp.de - Member



Dabei seit:
Beiträge: 69

beantworten | zitieren | melden

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
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von panicJonny am .
private Nachricht | Beiträge des Benutzers
gfoidl
myCSharp.de - Team

Avatar #avatar-2894.jpg


Dabei seit:
Beiträge: 7547
Herkunft: Waidring

beantworten | zitieren | melden

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!"
private Nachricht | Beiträge des Benutzers