1
9
可以使用反射:
|
2
8
代码:
|
3
7
如果你能用 Reactive Extensions for .NET ,你可以简化这个。
Observable from an event
编辑:为了演示,我制作了一个完整的示例程序(我将粘贴在下面)。
我将可观察的创建和订阅移动到一个方法中(
这将获取您的代码,并将其更改为:
运行时,此代码将打印:
你只有一次,一次触发你的事件。
|
4
2
|
5
1
它有用吗?如果是这样,那我就说去争取吧。一个看起来很优雅的一次性活动。
|
6
1
就我个人而言,我只是为任何类型的事件创建了一个专门的扩展方法。 下面是我现在正在使用的东西的基本版本:
我之所以认为这是最好的解决方案,是因为您通常不需要只处理一次事件。您还经常需要检查事件是否已经通过。。。例如,下面是上述扩展方法的另一个版本,它使用附加属性检查元素是否已加载,在这种情况下,它只需立即调用给定的处理程序:
|
7
0
通常,当我需要像您描述的那样一次性执行事件处理程序时,我真正需要的是:
|
8
0
有点像。。。
|
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
makerbaker · 取消选中框Javascript后重置输入值? 2 年前 |
sam_rox · 在Matlab ODE中使用事件内部的两个条件 6 年前 |
Santosh · javafx中的按键事件 6 年前 |
KarLito · 删除或切换Highcharts上的事件 6 年前 |
JWoods4 · 读取击键并放入文本框 6 年前 |
Everett Kaser · 在事件处理程序中绘制到NSView 6 年前 |