C# Übergabeparameter eines EventHandlers festlegen

Thomas D

Erfahrenes Mitglied
Ist es in C# möglich, einem Event Parameter mit auf den Weg zu geben?

Code:
cmdClose.Click += expertenEditorClose; //kann man hier irgendwie Parameter angeben?

private void expertenEditorClose(object sender, RoutedEventArgs args)
{
}

Pseudocodemäßig müsste das ganz in etwa wie folgt aussehen, was aber leider misslingt:

Code:
cmdClose.Click += expertenEditorClose (this, null);

Daher meine Frage: Besteht hier eine Möglichkeit, auf die Übergabeparameter Einfluss zu nehmen und wenn ja, wie?
 
Hi

Irgendwie verstehe ich dich nicht

Die Parameter werden beim Aufruf / Auslösen des Events gesetzt.
Die entsprechenden Argumente, welche akzeptiert werden, werden vom Delegate (EventHandler) bestimmt).
Da wo du Parameter mit auf den Weg geben willst, wird das Event nur abonniert. Es findet an dieser Stelle kein Aufruf statt
 
Die entsprechenden Argumente, welche akzeptiert werden, werden vom Delegate (EventHandler) bestimmt).

Und wie kann ich diese Argumente modifizierten? Den sender zu verändern ist logischerweise nicht zielführend. Aber gibt es eine Möglichkeit, dem EventHandler irgendwie Parameter mitzugeben (ein String oder die Referenz auf ein anderes Objekt)? Derzeit behelfe ich mich immer damit, dass ich für diese Zwecke das Tag-Attribut des sender gebrauche. Sollte es keine Möglichkeit geben, die Parameter eines EventHandlers zu ändern, dann werde ich halt weiter so verfahren, wie jetzt ...
 
Bei von .NET mitgelieferten Events kannst du das nicht steuern, da das entsprechende Control / die Klasse diese Events wirft.
Du kannst ggf. davon ableiten und die entsprechende Methode überschreiben und die Parameter anpassen.
Jedoch versuchst du eher etwas zu verbiegen, was nicht zu verbiegen ist.

Was genau hast du denn vor? Also wie sieht der Use Case aus?
 

Neue Beiträge

Zurück