gpt4 book ai didi

c# - 为异步完成的事件处理程序传递附加变量

转载 作者:太空狗 更新时间:2023-10-30 01:10:37 25 4
gpt4 key购买 nike

private void GeoCode_Method1(string myaddress, int waypointIndex, string callingUser)
{
GCService.GeocodeCompleted += new EventHandler<NSpace.GCService.GeocodeCompletedEventArgs>(GeoCode_Method1_GeocodeCompleted);
GCService.GeocodeAsync(request, waypointIndex);
}

void GeoCode_Method1_GeocodeCompleted(object sender, NSpace.GCService.GeocodeCompletedEventArgs e)
{
//***QUESTION: how do I access variable "callinguser" from GeoCode_Method1 in this method??
}

当我调用 GeoCode_Method1 时,我发送“callinguser”字符串变量,我想在 GeoCode_Method1_GeocodeCompleted 中访问它(在异步 GeoCodingAsync 调用完成时触发)。我该怎么做呢?

最佳答案

最简单的方法是使用 C# lambda 表达式作为事件处理程序。然后,此 lambda 表达式可以调用 GeoCode_Method1_GeocodeCompleted 方法并传递 callinguser 参数。

GCService.GeocodeCompleted += 
(sender, e) => GeoCode_Method1_GeocodeCompleted(callinguser, sender, e);
GCService.GeocodeAsync(request, waypointIndex);

void GeoCode_Method1_GeocodeCompleted(
string callingUser,
object sender,
Space.GCService.GeocodeCompletedEventArgs e) {
//***QUESTION: how do i access variable "callinguser" from GeoCode_Method1 in this method??
}

关于c# - 为异步完成的事件处理程序传递附加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4269648/

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