c# - 无法从托管 Activity 将值传递给 MvxCommand
问题描述
我正在尝试将两个值传递给 MvxCommand,如下面的代码所示。第一个值是字符串类型,后者是枚举。但我收到以下错误:
the non-generic type MvxCommand can’t be used with type arguments
请让我知道如何解决此错误。
代码:
//in View „Activity"
ViewModel. DexCommand.Execute(result, value);
//in ViewModel
public IMvxCommand DexCommand => new MvxCommand<string, VRTEnum>((res, val) =>
{
});
解决方案
非泛型类型 MvxCommand 不能与类型参数一起使用
这是源代码片段:
namespace MvvmCross.Commands
{
public interface IMvxCommand : ICommand
{
void RaiseCanExecuteChanged();
void Execute();
bool CanExecute();
}
public interface IMvxCommand<T> : ICommand
{
[Obsolete("Use the strongly typed version of Execute instead", true)]
new void Execute(object parameter);
[Obsolete("Use the strongly typed version of CanExecute instead", true)]
new bool CanExecute(object parameter);
void RaiseCanExecuteChanged();
void Execute(T parameter);
bool CanExecute(T parameter);
}
}
可以看到IMvxCommand<T>
参数是T
所以如果你想传递两个参数,我认为你可以使用 aTuple
将它们变成一个对象。
例如
new MvxCommand<Tuple<string, VRTEnum>>(Action);
推荐阅读
- powershell - Where-Object -InputObject 参数和管道之间的行为不一致
- python - VScode 中的 Jupyter Notebook 不导出 Pyplot 标题
- ruby - 如何使用 VSCode 通过 rake 测试调试应用程序
- asp.net-core-webapi - AutoRest - 如何停止 HTTP 状态代码 500 的自动重试策略?
- php - Laravel & Cpanel:如何修复 Swift_TransportException(邮件服务器)?
- docker - 如何在不指定 CMD 的情况下将参数传递给 docker 容器
- java - 如何将 SSL 客户端证书与 Apache commons http 客户端一起使用
- python - 从路径名创建树结构
- python - 如何向电报机器人发送有关最近餐馆的位置?
- python - Tkinter,Canvas converting/saving details