IObservable的引用在哪里

时间:2011-06-12 18:11:39

标签: system.reactive silverlight-5.0

以下内容未编译VS2010,SL5和Reactive Extensions版本1.1.10605.1(2011-06-05)。

'System.Collections.Generic.IEnumerable'不包含'ToObservable'的定义,并且没有扩展方法'ToObservable'接受类型'System.Collections.Generic.IEnumerable'的第一个参数可以找到(你错过了吗?) 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));
    }
}

3 个答案:

答案 0 :(得分:7)

尝试添加'using System.Reactive.Linq'?

答案 1 :(得分:2)

以防万一有人感兴趣,现在这已经过去了,并且是System.Observable命名空间

答案 2 :(得分:0)

也许你没有引用/使用反应组件?
你引用了mscorlib.dll吗? 此外,您可能需要将System.Observable.dll包含在项目中。