使用附加參數增強事件處理程序
事件處理程序經常需要存取標準事件參數以外的資料。 使用 lambda 表達式或匿名函數注入額外參數可以輕鬆解決此需求。
我們舉個例子來說明:
<code class="language-csharp">private void setup(string extraData) { Object.assignHandler((sender) => evHandler(sender, extraData)); } public void evHandler(Object sender, string extraData) { // Access 'extraData' within the event handler. }</code>
這裡,setup
函數接收 extraData
。 為了使其可供 evHandler
使用,lambda 表達式創建了一個匿名函數。此函數接受標準 sender
參數並將 extraData
傳遞給 evHandler
。 如圖所示,現在可以在事件處理程序中存取 extraData
。
這種方法提供了一種乾淨且有效率的方法,將任何必要的資料傳遞給事件處理程序,從而提高了程式碼靈活性和可維護性。
以上是如何將額外參數傳遞給事件處理程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!