C#


ROSLYN.USAGE.CA2247 : Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum (C#)

See Roslyn-Detected C# Warning Classes for more information.

Summary

TaskCompletionSource has constructors that take TaskCreationOptions that control the underlying Task, and constructors that take object state that's stored in the task. Accidentally passing a TaskContinuationOptions instead of a TaskCreationOptions will result in the call treating the options as state.

This check corresponds to Roslyn rule CA2247. For full rule details, see the Microsoft website: CA2247.

Properties

Class Name Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum (C#)
Significance reliability
Mnemonic ROSLYN.USAGE.CA2247
Categories None
Availability Available for C# only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Argument passed to TaskCompletionSource constructor should be TaskCreationOptions enum instead of TaskContinuationOptions enum (C#)"

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.