我尝试用参数创建一个AsyncCommand。
我使用了这种方法,但是没有用。
public static AsyncCommand<T> Create(Func<System.Threading.Tasks.Task<T>> func)
{
return new AsyncCommand<T>(new Command<T>(async (x) => await func(x)));
}
当我用viewmodel调用它时:
public ICommand OnRemoveTagCommand = AsyncCommand<ResultElementRatingDto>.Create(RemoveTag);
private async Task<ResultElementRatingDto> RemoveTag(ResultElementRatingDto ratingDto)
{
return null;
}
错误是:
无法从“方法组”转换为“功能”
我的代码有什么问题?
根据Create
可用的重载,以及所使用的语言版本,有时仅考虑返回类型时,编译器有时无法将方法组解析为明确的重载。在这种情况下,请使用lambda表达式调用该方法:
public ICommand OnRemoveTagCommand = AsyncCommand<ResultElementRatingDto>.Create(x => RemoveTag(x));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句