コード例 #1
0
        private async Task ConnectAsync(Func <Task> connectAction, CancellationToken cancellationToken)
        {
            await Task.WhenAny(connectAction(), cancellationToken.AsAwaitable().ContinueWith(task =>
            {
                if (!IsDisposed)
                {
                    IsCancelled = true;
                    Client.Dispose();
                }
            }));

            ThrowIfCancelled();
        }