Пример #1
0
        private Task <IInlineRenameReplacementInfo> UpdateConflictResolutionTask(IInlineRenameLocationSet locations, string replacementText, OptionSet optionSet, CancellationToken cancellationToken)
        {
            var conflictResolutionTask = Task.Run(async() =>
                                                  await locations.GetReplacementsAsync(replacementText, optionSet, cancellationToken).ConfigureAwait(false),
                                                  cancellationToken);

            var asyncToken = _asyncListener.BeginAsyncOperation("UpdateConflictResolutionTask");

            conflictResolutionTask.SafeContinueWith(
                t => ApplyReplacements(t.Result, cancellationToken),
                cancellationToken,
                TaskContinuationOptions.OnlyOnRanToCompletion,
                ForegroundTaskScheduler).CompletesAsyncOperation(asyncToken);

            return(conflictResolutionTask);
        }
Пример #2
0
        private Task<IInlineRenameReplacementInfo> UpdateConflictResolutionTask(IInlineRenameLocationSet locations, string replacementText, OptionSet optionSet, CancellationToken cancellationToken)
        {
            var conflictResolutionTask = Task.Run(async () =>
                await locations.GetReplacementsAsync(replacementText, optionSet, cancellationToken).ConfigureAwait(false),
                cancellationToken);

            var asyncToken = _asyncListener.BeginAsyncOperation("UpdateConflictResolutionTask");
            conflictResolutionTask.SafeContinueWith(
                t => ApplyReplacements(t.Result, cancellationToken),
                cancellationToken,
                TaskContinuationOptions.OnlyOnRanToCompletion,
                ForegroundTaskScheduler).CompletesAsyncOperation(asyncToken);

            return conflictResolutionTask;
        }