Upozornění CA2247: Argument pro konstruktor TaskCompletionSource by měl být TaskCreationOptions hodnota
Pravidlo analyzátoru kódu .NET CA2247 je ve výchozím nastavení povolené počínaje rozhraním .NET 5. Vytvoří upozornění sestavení pro volání TaskCompletionSource<TResult> konstruktoru, který předává argument typu TaskContinuationOptions.
Změna popisu
Počínaje rozhraním .NET 5 obsahuje sada .NET SDK analyzátory zdrojového kódu .NET. Některé z těchto pravidel jsou ve výchozím nastavení povolené, včetně CA2247. Pokud váš projekt obsahuje kód, který porušuje toto pravidlo a je nakonfigurovaný tak, aby zacházel s upozorněními jako s chybami, může tato změna přerušit sestavení.
Pravidlo CA2247 najde volání konstruktoru TaskCompletionSource<TResult> , který předává argument typu TaskContinuationOptions. Typ TaskCompletionSource<TResult> má konstruktor, který přijímá TaskCreationOptions hodnotu, a jiný konstruktor, který přijímá .Object Pokud omylem předáte TaskContinuationOptions hodnotu místo TaskCreationOptions hodnoty, je konstruktor s parametrem Object volána za běhu. Váš kód se zkompiluje a spustí, ale nebude mít zamýšlené chování.
Zavedená verze
5,0
Doporučená akce
TaskContinuationOptions Nahraďte argument odpovídající TaskCreationOptions hodnotou. Nepotlačujte toto upozornění, protože téměř vždy zvýrazňuje chybu v kódu. Další informace najdete v tématu CA2247.
Pokud chcete analýzu kódu úplně zakázat, nastavte
EnableNETAnalyzers
vfalse
souboru projektu. Další informace naleznete v tématu EnableNETAnalyzers.