PREFACEC# Ereignisbehandlung mit zusätzlichen Parametern befestigen
ich ein Windows-Formular-Knopf haben, die das Ereignis OnClick (object sender, EventArgs e) aussetzt. In meiner Anwendung kann ich damit umgehen, indem die klassischen Event-Handling-Technik von C#:
// Button Creation
Button button = new Button();
button.Click += MyEventHandler;
Dann mir Windows Form mit der folgenden Signatur für einen Handler fragen:
public void MyEventHandler(object sender, EventArgs e) { }
Angenommen, Ich mag würde verwenden Lambda-Ausdruck, dies zu tun kann ich die Syntax:
button.Click += (sender, args) =>
{
// execute the code
};
der Nachteil dabei ist, dass ich nicht von einem Lambda-Ausdruck austragen kann.
FRAG
Was würde ich tun möchte, ist eine Utility-Klasse zu haben, die mir erlauben, und unter Verwendung eine zusätzliche Aktion als Parameter jedes Click-Ereignis zu behandeln. Also würde ich gerne so etwas schreiben:
button.Click += MyUtility.Click(()
=> {
// the custom code the Click event will execute
})
Kann ich es irgendwie machen?
Warum durchlaufen Sie all das, wenn Sie bereits eine Lösung haben? Verwenden Sie kein Lambda, wenn Sie sich einfach abmelden müssen. –
Sie haben die Frage überhaupt nicht beantwortet ... – Raffaeu