public Task <OperateResult> WriteAsync(string address, byte[] value) { var tcs = new TaskCompletionSource <OperateResult>(); m_plc.BeginWrite(address, value, read => { tcs.SetResult(read); }); return(tcs.Task); }