Я пытаюсь поиграть с реактивным расширением в лаборатории, но не смог зарегистрироваться с помощью API FromEvent (я получаю исключение во время компиляции). Я хочу получать события, когда свойство textchanged вызывается в элементе управления текстовым полем, может ли кто-нибудь подсказать, что я делаю неправильно при преобразовании через API FromEvent? Я почему-то не могу ввести преобразование или преобразование из TextChangeEventArgs/EventHandler в EventHandler — пожалуйста, покажите мне, как это сделать правильно. Спасибо.
internal delegate void TextChangedEventArgs(object sender, EventArgs e);
var txt = new TextBox();
var form = new Form
{
Controls = { txt }
};
var subscription = Observable.FromEvent<EventHandler, TextChangedEventArgs>(
x => (a, b) => new EventHandler(), ??????
x => txt.TextChanged += x,
x => txt.TextChanged -= x
);
IDisposable eventSubscription = subscription.Subscribe(
x => Console.WriteLine("Subscriber Got " + x),
x => Console.WriteLine("An exception has occured" + x),
() => Console.WriteLine("Action completed"));
Console.WriteLine("in here");
using (new CompositeDisposable(eventSubscription)) { Application.Run(form); }
Console.ReadKey();