1
2
这是一个非常重要的问题。这实际上取决于几个关键因素,如:
似乎您正在尝试将回调分配为事件处理程序,但您实现它的方式似乎不正确。您似乎正在尝试通过一个方法注册回调,即
事件是多播的,这意味着您可以连接无限多个处理程序,以在单个事件上作为回调进行侦听
只要你意识到了后果,并且正确地清理了你的代码,那就没问题了。在您想要处理这样的事件的情况下,您可以通过使用类的构造函数(在您的特定情况下
这是完全可能的,而且超级强大,在我看来现在被认为是“传统的”。创建自己的想法
|
2
0
自从C#中的lambdas以来,它是一个非常常用的模式,但也有它的优点和缺点。 不便之处在于,只有一个“接收者”可以成为目标,通过一个事件,您可以根据自己的需要挂接任意多个接收者。 优点是,很容易编写fire and forget类型表达式,而不是与事件挂钩。 如果您想探索关于如何相互通信不同类的更多构造,请查看委托模式,而不是.net委托,而是公开可能调用的函数的接口,就像在Java中一样。 |
3
0
不,这完全可以。如果你想观察自己,我会将传递的方法限制为几行。实际上,这取决于你想在方法中做什么。如果你在做抽象上与主方法分离的事情,那么最好把它作为一个独立的方法。如果只是一个简单的更改或更新之类的,我认为内嵌代码更优雅。 但是,要小心使用方法范围之外的本地数据。这是合法的,但如果你遇到问题,很有可能就是问题所在。 |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
makerbaker · 取消选中框Javascript后重置输入值? 2 年前 |
sam_rox · 在Matlab ODE中使用事件内部的两个条件 6 年前 |
Santosh · javafx中的按键事件 6 年前 |
KarLito · 删除或切换Highcharts上的事件 6 年前 |
JWoods4 · 读取击键并放入文本框 6 年前 |
Everett Kaser · 在事件处理程序中绘制到NSView 6 年前 |