如何在最新版本的 ReactiveUI 中实现命令模式?

问题描述

我正在关注官方 GitHub 页面上提供的关于使用下面的 ReactiveUI.ReactiveCommand 的示例。 (ReactiveUI v8.0.1) github link

public class Mainviewmodel : ReactiveObject
{
    public ReactiveCommand ParameterlessCommand { get; }
    public Mainviewmodel()
    {
        ParameterlessCommand = ReactiveCommand.Create(Parameterless);
    }


    private void Parameterless()
    {
        
    }
}

当我将此实现与 ReactiveUI v13.0.38 一起使用时发生错误

enter image description here

  1. 一个错误是“CS0722 'ReactiveCommand':静态类型不能 用作返回类型”。
  2. 第二个错误是“CS0029 不能隐式转换类型 'ReactiveUI.ReactiveCommand' 到 'ReactiveUI.ReactiveCommand'"

如何在 ReactiveUI v13.0.38 中使用此 MVVM 代码示例中的命令模式?

解决方法

实现 ICommand 接口的

ReactiveCommand 类是一个泛型类型。

// Unit is used for void - no input and output,so double Unit
public ReactiveCommand<Unit,Unit> ParameterlessCommand { get; }

// assigning
ParameterlessCommand = ReactiveCommand.Create(Parameterless);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...