C# 如何在两个C类之间分解事件,因为事件只能在同一个类中触发它';什么是定义?

C# 如何在两个C类之间分解事件,因为事件只能在同一个类中触发它';什么是定义?,c#,.net,C#,.net,假设我有A班和B班的: public event CustomEvent1 event1 public event CustomEvent2 event2 由于事件只能在定义的同一类中触发,我如何创建a&B将继承事件的类C?在调用事件的C类中创建OnCustomEvent方法。然后可以从A和B类调用该方法 您可以在框架中查看任何使用事件的webform或winform控件作为此解决方案的示例。在调用事件的C类中创建OnCustomEvent方法。然后可以从A和B类调用该方法 您可以在框架中查看

假设我有A班和B班的:

public event CustomEvent1 event1
public event CustomEvent2 event2

由于事件只能在定义的同一类中触发,我如何创建a&B将继承事件的类C?

在调用事件的
C
类中创建
OnCustomEvent
方法。然后可以从
A
B
类调用该方法


您可以在框架中查看任何使用事件的webform或winform控件作为此解决方案的示例。

在调用事件的
C
类中创建
OnCustomEvent
方法。然后可以从
A
B
类调用该方法


您可以在框架中查看任何使用事件的webform或winform控件作为此解决方案的示例。

请参阅请参阅在这种情况下,您应该在类C中定义如下方法

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

因为它是一个受保护的方法,所以从类a和类B中可以看到它。

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

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

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

只有一个可以从派生类调用的
RaiseEvent
函数。只有一个可以从派生类调用的
RaiseEvent
函数。