gpt4 book ai didi

c# - 异步调用的 Func 语法

转载 作者:行者123 更新时间:2023-12-03 12:58:46 26 4
gpt4 key购买 nike

我尝试创建一个带有参数的 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)));
}

当我用我的 View 模型调用它时:
 public ICommand OnRemoveTagCommand = AsyncCommand<ResultElementRatingDto>.Create(RemoveTag);

private async Task<ResultElementRatingDto> RemoveTag(ResultElementRatingDto ratingDto)
{

return null;
}

错误是:

cannot convert from 'method group' to 'Func'



我的代码有什么问题?

最佳答案

取决于 Create 的过载可用,并且取决于 language version you're using ,当仅考虑返回类型时,编译器有时无法将方法组解析为明确的重载。在这种情况下,请使用 lambda 表达式调用该方法:

public ICommand OnRemoveTagCommand = AsyncCommand<ResultElementRatingDto>.Create(x => RemoveTag(x));

关于c# - 异步调用的 Func 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60310778/

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