Heim > Backend-Entwicklung > C++ > Wie kann ich in C# zusätzliche Parameter an Ereignishandler übergeben?

Wie kann ich in C# zusätzliche Parameter an Ereignishandler übergeben?

Patricia Arquette
Freigeben: 2025-01-23 08:16:09
Original
373 Leute haben es durchsucht

How Can I Pass Extra Parameters to Event Handlers in C#?

Zugriff auf zusätzliche Parameter im Event-Handler

Angenommen, Sie müssen zusätzliche Daten an den Ereignishandler übergeben. Wir haben zum Beispiel eine Setup-Methode, die Event-Handler zuweist:

<code class="language-csharp">private void setup(string someData)
{
     Object.assignHandler(evHandler);
}</code>
Nach dem Login kopieren

Und der Event-Handler evHandler muss auf den someData-Parameter zugreifen:

<code class="language-csharp">public void evHandler(Object sender)
{
    // 需要在此处使用 someData!!!
}</code>
Nach dem Login kopieren

Lösung

Um zusätzliche Parameter an einen Event-Handler zu übergeben, können Sie einen Lambda-Ausdruck als Delegaten verwenden. Anstatt die Methode evHandler direkt zuzuweisen, weisen wir einen Lambda-Ausdruck zu, der das Absenderobjekt als erstes Argument und someData als zweites Argument verwendet:

<code class="language-csharp">private void setup(string someData)
{
     Object.assignHandler((sender) => evHandler(sender, someData));
}</code>
Nach dem Login kopieren

Jetzt kann die evHandler-Methode sowohl den Absender als auch die someData-Parameter akzeptieren:

<code class="language-csharp">public void evHandler(Object sender, string someData)
{
    // 访问发送者和 someData
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in C# zusätzliche Parameter an Ereignishandler übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage