public Task<UdpReceiveResult> ReceiveAsync () { return Task<UdpReceiveResult>.Factory.FromAsync (BeginReceive, r => { IPEndPoint remoteEndPoint = null; return new UdpReceiveResult (EndReceive (r, ref remoteEndPoint), remoteEndPoint); }, null); }