gpt4 book ai didi

C# 将委托(delegate)作为参数传递

转载 作者:太空宇宙 更新时间:2023-11-03 20:37:22 24 4
gpt4 key购买 nike

我知道我可以做到这一点:

WebClient client = new WebClient();client.UploadStringCompleted += delegate(object sender, UploadStringCompletedEventArgs e){    //handle event};client.UploadStringAsync(myURI, "POST", "some_data");

但是有没有一种方法可以将内联委托(delegate)作为参数传递?像这样:

DoRequest("some_data",    delegate(object sender, UploadStringCompletedEventArgs e)    {        //handle event    });public void DoRequest(string data, UploadStringCompletedEventHandler event){    WebClient client = new WebClient();    client.UploadStringCompleted += event;    client.UploadStringAsync(myURI, "POST", data);}

最佳答案

是的,该代码是正确的,只是您不能调用您的参数事件。我也会改用 lambda 表达式,因为它更好。

DoRequest("some_data", (o, e) => {/* 处理事件 */});

关于C# 将委托(delegate)作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4514306/

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