我的团队需要 ViewModel 的接口。我喜欢 MVVM 社区工具包,但我想同时使用接口和
[RelayCommand]
属性类方法。
如何在以下场景中使用我的
DownloadConfigurationCommand
后代类为 ObservableObject
定义接口?
以下生成一个公开调用的“命令”:
DownloadConfigurationCommand
代码定义为:
[RelayCommand]
private async Task DownloadConfiguration(AppConfiguration appConfiguration)
{
// TODO: Call DownloadConfiguration Configuration
await Task.Delay(10);
}
仅供参考:代码可以工作,但未满足团队定义接口的要求。
提前致谢!
如果您确实想在接口中定义命令的确切规范,在异步且具有类型参数的情况下,您可以将属性指定为
IAsyncRelayCommand<T>
但这会将您与特定的实现联系起来,从而否定首先使用接口的任何可能原因。如果您想让事情变得更通用,只需将其声明为 ICommand
并失去指定命令的确切类型的能力。
一般来说,为只实现一次的类型定义接口是没有意义的。这听起来像是一个过于迂腐的经理的政策,他并不真正理解他们为什么这样做。