public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { Write(buffer, offset, count); var tcs = new TaskCompletionSource<object>(state); tcs.TrySetResult(null); IAsyncResult result = tcs.Task; callback?.Invoke(result); return result; }