物件導向程式設計中事件處理程序的額外參數傳遞
在物件導向程式設計中,事件處理程序是當特定事件發生時執行的函數或方法。這些事件可以由使用者操作(例如單擊按鈕)或系統進程(例如操作完成)觸發。
考慮以下情境:您希望在分配事件處理程序時向其傳遞附加資料。例如:
<code class="language-c#">private void setup(string someData) { Object.assignHandler(evHandler); } public void evHandler(Object sender) { // 需要在此处使用 someData!!! }</code>
在此範例中,您希望在觸發 evHandler
方法時向其提供 someData
字串。為此,您可以使用 lambda 表達式:
<code class="language-c#">private void setup(string someData) { Object.assignHandler((sender) => evHandler(sender, someData)); } public void evHandler(Object sender, string someData) { // 现在您可以访问 someData 了! }</code>
透過將 evHandler
函數包裝在 lambda 表達式中,您可以將 someData
參數作為附加參數傳遞。當事件發生時,lambda 表達式將執行並將 someData
值提供給 evHandler
方法。這允許您在事件處理程式碼中存取附加資料。
以上是在物件導向程式設計中如何將額外參數傳遞給事件處理程序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!