C# BeginReceive()函数?

client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveMessage), client);
其中ReceiveMessage是回调函数,我想让ReceiveMessage传参数该怎么办
client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveMessage(ar,label1)), client);会报错,能传参数吗

茅侃侃
浏览 938回答 2
2回答

芜湖不芜

AsyncCallback委托只接受一个 System.IAsyncResult 类型的参数。如果需要传递参数我一般会直接写匿名函数,比如12345678910111213public int Receive(){    byte[] a = null;    int b;    string c;    client.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None,    (System.IAsyncResult ar) =>    {        a = c.Split(' ');        b = 100;        // 怎么写都可以    }, client);}
打开App,查看更多内容
随时随地看视频慕课网APP