Dela via


Varning CA2247: Argumentet till TaskCompletionSource-konstruktorn ska vara värdet TaskCreationOptions

.NET-kodanalysregeln CA2247 är aktiverad som standard med början i .NET 5. Den skapar en byggvarning för anrop till TaskCompletionSource<TResult> konstruktorn som skickar ett argument av typen TaskContinuationOptions.

Ändra beskrivning

Från och med .NET 5 innehåller .NET SDK .NET-källkodsanalyserare. Flera av dessa regler är aktiverade som standard, inklusive CA2247. Om projektet innehåller kod som bryter mot den här regeln och är konfigurerat för att behandla varningar som fel kan den här ändringen bryta mot bygget.

Regel CA2247 hittar anrop till TaskCompletionSource<TResult> konstruktorn som skickar ett argument av typen TaskContinuationOptions. Typen TaskCompletionSource<TResult> har en konstruktor som accepterar ett värde och en TaskCreationOptions annan konstruktor som accepterar en Object. Om du av misstag skickar ett TaskContinuationOptions värde i stället för ett TaskCreationOptions värde anropas konstruktorn med parametern Object vid körning. Koden kompileras och körs men har inte det avsedda beteendet.

Version introducerad

5,0

  • TaskContinuationOptions Ersätt argumentet med motsvarande TaskCreationOptions värde. Ignorera inte den här varningen eftersom den nästan alltid markerar en bugg i koden. Mer information finns i CA2247.

  • Om du vill inaktivera kodanalys helt anger du EnableNETAnalyzers till false i projektfilen. Mer information finns i EnableNETAnalyzers.

Berörda API:er