Можно ли создать IObservable из прослушивателя действий? - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть класс, у которого есть событие, определенное как Action<Guid>, в отличие от классического EventHandler с EventArgs.Есть ли способ преобразовать это в IObservable таким же образом, как это было бы сделано со стандартным EventHandler?Мне нужно сделать это, чтобы я мог объединиться с другими IObservables.

1 Ответ

2 голосов
/ 22 сентября 2011

Если у вас есть этот класс:

public class Foo
{
    public event Action<Guid> Guid;
}

Тогда этот код вам нужен, чтобы превратить нестандартное событие в IObservable<Guid>:

var foo = new Foo();

var guids = Observable.FromEvent<Guid>(
    h => foo.Guid += h,
    h => foo.Guid -= h);
...