我試圖在實驗室中使用被動擴展手,但無法使用FromEvent API註冊(我正在獲取編譯時異常)。我想在文本框控件上調用textchanged屬性時接收事件,有人可以建議我通過FromEvent API進行轉換時做了什麼錯誤嗎?我一些如何不能從TextChangeEventArgs/EventHandler類型轉換或轉換爲EventHandler - 請告訴我正確的方法來做到這一點。謝謝。Reactive Extension - Observable.FromEvent typecast轉換
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();
我在MSDN文檔中找到了我的解決方案'Microsoft.Phone.Reactive'命名空間。 RX-Team似乎經常在其API中改變這種情況。謝謝你的提示。 – Nappy 2011-05-13 14:41:57