3

我有以下功能

public static Task<int> SendTaskAsync(this Socket socket, byte[] buffer, int offset, int size, SocketFlags flags)
{
    AsyncCallback nullOp = (i) => { };
    IAsyncResult result = socket.BeginSend(buffer, offset, size, flags, nullOp, socket);
    // Use overload that takes an IAsyncResult directly
    return Task.Factory.FromAsync(result, socket.EndSend);
}

但是我得到了一个

“无法从组中选择方法”

FromAsync 上的错误。我的代码应该如何?我对 TAP 很陌生

4

1 回答 1

3

改变这个:

 return Task.Factory.FromAsync(result, socket.EndSend);

进入这个:

 return  Task<int>.Factory.FromAsync(result, socket.EndSend);

编辑:

正如@cremor 所说,您也可以使用:

 return Task.Factory.FromAsync<int>(result, socket.EndSend);
于 2013-07-05T07:02:57.000 回答