[英]c# - how to pass function as parameter (with parameters as values) without invoking it
[英]How to add parameters to an async function action parameter in c#
我有下面的方法
protected async Task ProcessExecuteResponseAsync(string errorMessage,
Func<Task> failureAction = null)
{
if (isOk == false)
{
if (failureAction != null)
{
var failureResult = failureAction.Invoke();
await failureResult;
}
}
}
这完美地工作
但是,现在我想将错误消息传递给 failureAction 动作
它的语法是什么?
我试过了
protected async Task ProcessExecuteResponseAsync(string errorMessage,
Func<Task, string> failureAction = null)
{
if (isOk == false)
{
if (failureAction != null)
{
var failureResult = failureAction.Invoke(errorMessage);
await failureResult;
}
}
}
但我收到错误,字符串无法转换为任务
您必须将通用 arguments 的顺序从Func<Task, string>
更改为Func<string, Task>
。
最后一个参数始终是返回值,之前的参数是输入 arguments。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.