【问题标题】:C# Events between children孩子之间的 C# 事件
【发布时间】:2012-04-27 20:25:36
【问题描述】:

我遇到了一些事件问​​题:

假设我有 3 个班级,其中 1 个是“主人”,2 个是“奴隶”。

主实例化从属。

其中一个从属是调试显示类,它报告正在运行的程序的各个方面。另一个从站包含自己的对象,其中包含调试显示需要报告的变量。

我想到的第一件事就是在从属和从属的子类上公开一个属性,然后让主控将它传递给调试显示,但这似乎是非常糟糕的设计?

因此,我阅读并了解了 C# 中的委托(我了解基础知识并能够自己编写一些简单的示例)。

我发现的所有示例都涉及到侦听器也是引发异常的类的发起者。那么我应该如何支持在两个孩子之间传递/处理事件(或数据)?

非常感谢任何建议。

PS:我试图用谷歌搜索,但发现了大量涉及事件/代表的示例,但并不完全像这样......

【问题讨论】:

    标签: c# events delegates children loose-coupling


    【解决方案1】:

    使用事件时,您可以将两个不同的类连接在一起,即

    o1.MyEvent += o2.MyHandler;
    

    仅仅因为 WinForms 设计者总是使用 this.MyHandler 并不意味着它是唯一的选择。

    您还可以仔细阅读 Microsoft 文档 How to: Implement Property Change Notification

    【讨论】:

    • 非常感谢。我能够按照您的建议进行操作,接下来我将查看属性更改通知 :)