Estoy tratando de jugar con la extensión reactiva en el laboratorio, pero no pude registrarme usando la API FromEvent (obtengo una excepción de tiempo de compilación). Deseo recibir eventos cuando se invoca la propiedad textchanged en el control de cuadro de texto, ¿alguien puede sugerir qué estoy haciendo mal en la conversión a través de FromEvent API? De alguna manera, no puedo escribir fundir o convertir de TextChangeEventArgs/EventHandler a EventHandler; muéstrenme el camino correcto para hacerlo. Gracias.Reactive Extension - Observable.FromEvent typecast conversion
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();
Encontré mi solución en el espacio de nombres 'Microsoft.Phone.Reactive' de MSDN. El RX-Team parece cambiar tales cosas en sus API frecuentemente. Gracias por tu pista. – Nappy