CA2261: Ne használja ConfigureAwaitOptions.SuppressThrowing
a következővel: Task<TResult>
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA2261 |
Cím | Ne használja a következővel ConfigureAwaitOptions.SuppressThrowing : Task<TResult> |
Kategória | Használat |
A javítás kompatibilitástörő vagy nem törik | Nem törés |
Alapértelmezés szerint engedélyezve a .NET 8-ban | Figyelmeztetésként |
Ok
A függvény ConfigureAwaitOptions.SuppressThrowing egy értéket ad át a függvénynek Task<TResult>.ConfigureAwait(ConfigureAwaitOptions).
Szabály leírása
A ConfigureAwaitOptions.SuppressThrowing beállítást az általános Task<TResult>nem támogatja, mivel ez érvénytelen TResult
eredményhez vezethet. Ez a szabály azt jelzi, hogy a SuppressThrowingTask<TResult> hiba a futtatási idő helyett a buildelési időpontban jelenik meg.
Szabálysértések kijavítása
Task<TResult> A hívás előtt a nem általános Task elemet űzd ConfigureAwait(ConfigureAwaitOptions)el.
Példa
A következő kódrészlet a CA2261 megsértését mutatja be:
Task<int> t = new Task<int>(() => 1);
t.ConfigureAwait(ConfigureAwaitOptions.SuppressThrowing);
A következő kódrészlet a javítást mutatja:
Task<int> t = new Task<int>(() => 1);
((Task)t).ConfigureAwait(ConfigureAwaitOptions.SuppressThrowing);
Mikor kell letiltani a hibákat?
Ne tiltsa le a szabály figyelmeztetéseit. Ha a feladat hibás vagy megszakítva, érvénytelen lesz, TResult
és futásidejű hibákat okoz.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: