首頁 > 後端開發 > C++ > 如何在 C# 中將附加參數傳遞給事件處理程序?

如何在 C# 中將附加參數傳遞給事件處理程序?

Mary-Kate Olsen
發布: 2025-01-23 08:27:11
原創
778 人瀏覽過

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

傳遞附加參數給事件處理程序

在事件驅動程式設計中,事件處理程序通常使用僅接受傳送者物件作為參數的方法進行指派。但是,有時您可能需要向事件處理程序傳遞其他資料。

範例:

考慮以下程式碼:

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

public void evHandler(Object sender)
{
    // 需要在此处使用 someData!!!
}</code>
登入後複製

在此範例中,evHandler 是一個事件處理程序,需要存取在 setup 方法中可用的 someData 字串。

解:

要將 someData 傳遞給 evHandler,您可以使用 lambda 表達式定義事件處理程序,如下所示:

<code class="language-csharp">private void setup(string someData)
{
     Object.assignHandler((sender) => evHandler(sender, someData));
}
public void evHandler(Object sender, string someData)
{
    // 需要在此处使用 someData!!!
}</code>
登入後複製

在此程式碼中,lambda 表達式 (sender) => evHandler(sender, someData) 建立一個新的事件處理程序,該處理程序將發送者物件作為參數並將其與 someData 一起傳遞給 evHandler 方法。這確保了 someData 在事件處理程序中可用。

以上是如何在 C# 中將附加參數傳遞給事件處理程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板