gpt4 book ai didi

ReactiveUI - 类型 'IScheduler' 在未引用的程序集中定义

转载 作者:行者123 更新时间:2023-12-02 08:10:47 25 4
gpt4 key购买 nike

我正在尝试将 ReactiveList 子类化,以便它响应我编写的 ReactiveDictionary 中的更改,而不是父 List。

这是 ReactiveList 子类的类和构造函数签名。

public class ReactiveDictionaryDerivedList<TKey, TValue, TDerived> : ReactiveList<TDerived>, IReactiveDerivedList<TDerived>
{
public ReactiveDictionaryDerivedList(
IReadOnlyReactiveDictionary<TKey, TValue> dict,
Func<TValue, TDerived> selector,
Func<TValue, TDerived, bool> derivedValueFinder,
IScheduler scheduler)
{
}

这是我在项目中的依赖项。请注意,我使用的是 System.Reactive 的 4.0.0 预览版,因为它是由 ReactiveUI 8.0.0 alpha 安装的。 (我正在使用 ReactiveUI alpha,因为这似乎是 what is recommended these days )

<packages>
<package id="ReactiveUI" version="8.0.0-alpha0113" targetFramework="net452" />
<package id="ReactiveUI.WPF" version="8.0.0-alpha0113" targetFramework="net452" />
<package id="Splat" version="2.0.0" targetFramework="net452" />
<package id="System.Reactive" version="4.0.0-preview00001" targetFramework="net452" />
</packages>

问题是这个类因为错误而没有编译:

error CS0012: The type 'IScheduler' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System.Reactive.Interfaces, Version=3.0.1000.0,
Culture=neutral, PublicKeyToken=94bc3704cddfc263'.

任何解决方法的想法将不胜感激。关于 ReactiveUI 和 System.Reactive 的推荐版本的建议也很好。

最佳答案

在我的 WPF 应用程序中,我必须安装版本为 4.0.0-preview00001 的 System.Reactive.XXXXX 包(Core、Interfaces、Linq、PlatformServices、Windows.Threading、Windows.Forms)。

所有这些包都带有 System.Reactive.Compatibility 包 ( nuget link ):

Reactive Extensions (Rx) Compatibility Library for enabling v3 apps to work with v4

您应该尝试在您的项目中使用它。

关于ReactiveUI - 类型 'IScheduler' 在未引用的程序集中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47264135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com