将事件从C类传递到B类到A类

Rob*_*ter 12 c# events class subclass

我有A类,它实现了大量的B类实例.B类封装了C类的实例.

类引发需要由类A处理的事件.类A不需要知道类C.类C传递基于性能的统计信息,然后A需要合并.

如何在B类中创建事件并连接它们,以便A类可以订阅B类事件并从C类接收事件?

the*_*oop 24

事件只不过是一对包装委托字段的方法.您可以覆盖add和remove方法的默认实现,将ClassB值直接传递给事件ClassC:

public class ClassB
{
    private ClassC m_C = new ClassC();

    public event EventHandler MyEvent
    {
        add { m_C.MyEvent += value; }
        remove { m_C.MyEvent -= value; }
    }
}
Run Code Online (Sandbox Code Playgroud)