tmn*_*tmn 29 .net c# reactive-programming system.reactive
我有一个密集的Java背景,所以请原谅我,如果我忽略了C#中明显的东西,但我的研究让我无处可去.我正在尝试使用反应性Rx .NET库.编译器没有抱怨,IObservable但它是对zip方法的调用.它抛出"......你错过了使用指令或汇编参考吗?"
我一直在浏览命名空间,但我找不到想要的东西.System.Reactive如果使用的话,我找不到哪个也会抛出错误,并且此Windows 8.1应用程序已包含所有引用.有人可以告诉我有什么问题吗?
public sealed class EventEngine
{
private static readonly EventEngine singleton = new EventEngine();
public static EventEngine get()
{
return singleton;
}
public IObservable<MusicNote> CurrentKey { get; set; }
public IObservable<Scale> CurrentScale { get; set; }
public IObservable<AppliedScale> CurrentAppliedScale
{
get
{
return CurrentScale.zip(CurrentKey,
(s, k) => AppliedScale.getAppliedScale(k, s));
}
}
private EventEngine() {}
}
Run Code Online (Sandbox Code Playgroud)
*更新*
这是考虑答案输入后的工作版本.
public sealed class EventEngine
{
private static readonly EventEngine singleton = new EventEngine();
public static EventEngine get()
{
return singleton;
}
public IObservable<MusicNote> CurrentKey { get; set; }
public IObservable<Scale> CurrentScale { get; set; }
public IObservable<AppliedScale> CurrentAppliedScale
{
get
{
return Observable.Zip(CurrentScale, CurrentKey,
(s, k) => AppliedScale.getAppliedScale(s,k));
}
}
private EventEngine() {}
}
Run Code Online (Sandbox Code Playgroud)
sta*_*ica 40
您可能没有为项目添加Rx所需的程序集引用.(引用组件是不一样的东西导入命名空间你已经知道什么是命名空间;!组件类似于JAR东西;代码部署/分布的最小单位您的项目必须引用它里面所定义的命名空间之前它可以使用.)
编译器可能不抱怨IObservable<T>,IObserver<T>因为您的项目针对.NET Framework版本4或更高版本.自.NET版本4以来,这两个接口已成为核心.NET Framework类库(FCL)的一部分.(如果您针对早期的.NET版本,那么使用这些未定义的接口也会出错.)
除了这两个接口之外,Rx的每个部分都不包含在核心.NET FCL中,而是驻留在它们自己的(附加组件)程序集中.您可以将它们添加到项目中,例如通过安装相应的NuGet包:
在Visual Studio中,转到工具 → NuGet包管理器 → 包管理器控制台.
在NuGet控制台窗口中,在下拉列表Default project中选择目标项目(您要在哪里使用Rx).
接下来,输入Install-Package System.Reactive并点击Enter ↵.(注意:Rx-Main以前曾调用此包; 有关详细信息,请参阅此答案.)
这将为System.Reactive.*您的项目添加程序集引用.
Mat*_*ein 32
从版本3开始,该Rx项目现在被称为" System.Reactive因为它"使NuGet包命名符合NuGet指南以及每个包中的主要命名空间.
可以通过搜索"System.Reactive"从NuGet下载,也可以在此处下载:https://www.nuget.org/packages/System.Reactive/
这是项目的GitHub页面:https://github.com/Reactive-Extensions/Rx.NET
Rx-MainSystem.ReactiveRx-CoreSystem.Reactive.CoreRx-InterfacesSystem.Reactive.InterfacesRx-LinqSystem.Reactive.LinqRx-PlatformServicesSystem.Reactive.PlatformServicesRx-TestingMicrosoft.Reactive.Testing| 归档时间: |
|
| 查看次数: |
21089 次 |
| 最近记录: |