以下内容不是在VS2010、SL5和Reactive Extensions 1.1.10605.1版(2011-06-05)上编译的。
"System.Collections.Generic.IEnumerable"不包含"ToObservable"的定义,也找不到接受类型为"System.Collections.Generic.IEnumerable"的第一个参数的扩展方法"ToObserver"(是否缺少using指令或程序集引用?)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void ButtonNormal_Click(object sender, RoutedEventArgs e)
{
//MyList.ItemsSource = GetModel();
var items = new System.Collections.ObjectModel.ObservableCollection<string>();
MyList.ItemsSource = items;
foreach (string item in GetModel())
items.Add(item);
}
private void ButtonRx_Click(object sender, RoutedEventArgs e)
{
var items = new System.Collections.ObjectModel.ObservableCollection<string>();
MyList.ItemsSource = items;
IObservable<string> observable = GetModel()
.ToObservable(System.Concurrency.Scheduler.NewThread);
observable.ObserveOnDispatcher().Subscribe(item => items.Add(item));
}
}
尝试添加"using System.Reactive.Linq"?
为了防止有人感兴趣,现在已经弃用了它,它是System.Observable命名空间
也许您没有引用/使用反应程序集
你引用了mscorlib.dll吗
此外,您可能需要在项目中包含System.Observable.dll。