gpt4 book ai didi

c# - 从操作中获取回调值

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

我有这个带有操作参数的函数,执行后该函数上的参数将有一个值。有没有办法让我获得这个值?

public void DetailsAsync(string param1, string param2,Action<IList<Detail>> callback)
{
//process happen here and will have a callback to produce the data for detail
}

public class DetailController:ApiController
{
private IList<Detail> details;

private DetailCompleted(IList<Detail> detail)
{
//now detail parameter has a value that I can use
details = detail;
}


[HttpGet]
public IList<Detail> GetDetails()
{
ServiceManager.DetailsAsync("param1","param2",detailsCompleted)

//after ServiceManager.DetailsAsync it will go to return details
return details;
}
}

当我尝试这段代码时,我在返回详细信息上放置了一个断点,在detailsCompleted上放置了断点,但发生的情况是,当我调用Web api GetDatails时,它将首先执行返回详细信息,然后立即执行detailsCompleted函数。这就是为什么我目前无法获取该值。

最佳答案

Action<T>的返回值默认无效。如果你想要一个返回值,你应该使用 Func<T,TResult>

https://learn.microsoft.com/en-us/dotnet/api/system.func-2?view=netframework-4.7.2

关于c# - 从操作中获取回调值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512877/

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