3

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

'System.Collections.Generic.IEnumerable' 不包含'ToObservable' 的定义,并且找不到接受'System.Collections.Generic.IEnumerable' 类型的第一个参数的扩展方法'ToObservable'(您是否缺少 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));
    }
}
4

3 回答 3

7

尝试添加“使用 System.Reactive.Linq”?

于 2011-06-13T02:37:23.030 回答
2

以防万一有人感兴趣,现在已弃用,并且是 System.Observable 命名空间

于 2011-09-14T05:02:03.283 回答
0

也许您没有引用/使用反应性程序集?
你引用了 mscorlib.dll 吗?
此外,您可能需要将 System.Observable.dll 包含到您的项目中。

于 2011-06-12T18:16:29.983 回答