C#中委託和事件的區別
在這篇文章中,我們將瞭解C#中委託和事件的區別。
委託
它可以使用'delegate'關鍵字宣告。
它是一個函式指標。
它在執行時儲存一個或多個方法的引用。
它是一個獨立的關鍵字。
它不依賴於事件。
它包含Combine()和Remove()方法,可以幫助將方法新增到呼叫列表中。
它可以作為引數傳遞給方法。
可以使用'='運算子賦值單個方法。
可以使用'+='運算子將多個方法賦值給委託。
事件
它可以使用'event'關鍵字宣告。
它可以定義為依賴於委託的通知機制。
它依賴於委託。
如果沒有委託,它就無法建立。
可以理解為委託例項的包裝器。
這有助於防止委託的使用者重置委託及其呼叫列表。
它只允許新增或刪除呼叫列表中的目標。
‘EventInfo’類檢查事件並幫助繫結事件處理程式。
這些處理程式包括AddEventHandler()和RemoveEventHandler()等方法,分別用於向呼叫列表中新增和刪除方法。
事件可以被觸發,但不能作為引數傳遞給方法。
不能將'='運算子與事件一起使用。
可以使用'+='和'-='運算子與事件一起使用,分別新增或刪除事件處理程式。
這些方法會在內部呼叫AddEventHandler和RemoveEventHandler等方法。
廣告