首頁 >後端開發 >C++ >如何在 C# 中正確引發繼承事件?

如何在 C# 中正確引發繼承事件?

Patricia Arquette
Patricia Arquette原創
2024-12-26 12:07:10893瀏覽

How to Properly Raise Inherited Events in C#?

如何在 C# 中引發繼承事件

在 C# 中,事件可以在基底類別中聲明並由衍生類別存取。但是,在繼承的類別中引發事件需要特定的處理。

問題:

當嘗試引發從基類繼承的事件時,您可能會遇到錯誤,指出該事件只能出現在 = 或 -=的左側

解決方案:

要引發繼承的事件,您必須在基類中建立可用於呼叫事件的受保護方法。這些方法應遵循命名約定「OnEventName」。

例如,考慮以下基類:

受保護的事件引發方法:

在基底類別中,建立受保護的方法,例如以下:

在衍生類別中引發事件:

在衍生類別中,呼叫受保護的方法來引發events:

注意:

  • 可以修改受保護的方法來檢查是否需要呼叫事件處理程序(例如,透過檢查handler .GetIncationList().Length > 0).
  • 此方法確保可以在整個繼承層次結構中保持一致的方式。

以上是如何在 C# 中正確引發繼承事件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn