如何在两个c#类之间分解事件,因为事件只能在定义的同一个类中触发

本文关键字:事件 因为 定义 同一个 分解 之间 两个 | 更新日期: 2023-09-27 17:52:16

假设我有A类和B类:

public event CustomEvent1 event1
public event CustomEvent2 event2

如何创建一个类C,其中a &B将继承事件,因为事件只能在它定义的同一个类中触发?

如何在两个c#类之间分解事件,因为事件只能在定义的同一个类中触发

在这种情况下,您应该在类C中定义一个方法,如

protected void OnEventName(object sender, EventArgs e)
{
    CustomEventC evt = EventC;
    if (evt != null)
        evt(this, EventArgs.Empty);
}

由于它是一个受保护的方法,它将在类a和b中可见。

参考从拥有类外部调用c#事件?

在调用事件的C类中创建一个OnCustomEvent方法。然后,您可以从AB类中调用该方法。

您可以查看框架中任何使用事件的webform或winform控件的示例。