你能帮我检测缺失的指令吗(找不到扩展方法)



我开始使用.NET的rx扩展,并下载了一些源代码。

基本示例运行良好,但是有一个函数会导致错误,这显然是因为没有声明扩展方法(应该使用某些指令导入(

导致错误的代码行是注释源中的第二行(list.Run((我注释为能够编译(:

/*
    protected static void WriteListToConsole<T>(IEnumerable<T> list, string name) {
      list.Run(
        value => Console.WriteLine("{0} : {1}", name, value),
        () => Console.WriteLine("{0} Completed", name));
    }
     */

看起来Rx在某个地方定义了一个ext.方法Run to IEnumerable,但我没有导入它。

我安装了Rx v2.0.3 SDK.msi,在我的项目中添加了所有System.Reactive的参考。*我发现并使用了:

 using System;
 using System.Reactive.Subjects;
 using System.Reactive.Linq;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;

我还尝试在我的项目中使用Nugetrx.main和ix.main包,但错误总是存在的。

在谷歌IEnumerable+Run上搜索没有给我任何信息。

感谢您的帮助。

感谢

嗨,我想你正在看的是一个非常旧的样本。

现在,它被扩展方法ForEach所取代,该方法可以在System.Interactive dll的System.Linq命名空间中找到(我认为是IX Main nuget(。

您还将注意到OnCompleted函数参数已不存在,因为这是一个愚蠢的想法。新代码应该看起来像:

protected static void WriteListToConsole<T>(IEnumerable<T> list, string name) 
{
    list.ForEach(value => Console.WriteLine("{0} : {1}", name, value));
    Console.WriteLine("{0} Completed", name);
}

相关内容

  • 没有找到相关文章

最新更新