相关疑难解决方法(0)

如何使用Observable.FromEvent而不是FromEventPattern并避免使用字符串文字事件名称

我正在WinForms中学习Rx,并拥有以下代码:

// Create an observable from key presses, grouped by the key pressed
var groupedKeyPresses = Observable.FromEventPattern<KeyPressEventArgs>(this, "KeyPress")
                                  .Select(k => k.EventArgs.KeyChar)
                                  .GroupBy(k => k);

// Increment key counter and update user's display
groupedKeyPresses.Subscribe(keyPressGroup =>
{
    var numPresses = 0;
    keyPressGroup.Subscribe(key => UpdateKeyPressStats(key, ++numPresses));
});
Run Code Online (Sandbox Code Playgroud)

这可以完美地工作/运行,在KeyPress事件中流,按键推送组,然后跟踪每个键被按下的次数,并UpdateKeyPressStats使用键和新的按键数调用方法.装运它!

但是,FromEventPattern由于对事件的字符串文字引用,我不是签名的粉丝.所以,我想我会尝试一下FromEvent.

// Create an observable from key presses, grouped by the key pressed
var groupedKeyPresses = Observable.FromEvent<KeyPressEventHandler, KeyPressEventArgs>(h => this.KeyPress += h, h => this.KeyPress -= h)
                                  .Select(k => …
Run Code Online (Sandbox Code Playgroud)

.net winforms system.reactive

32
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

system.reactive ×1

winforms ×1