Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
CA2261: Ne használja
| Tulajdonság | Érték |
|---|---|
| Szabályazonosító | CA2261 |
| Cím | Ne használja ConfigureAwaitOptions.SuppressThrowing együtt Task<TResult>-vel |
| Kategória | Használat |
| A javítás romboló vagy nem romboló | Nem törhető |
| Alapértelmezés szerint engedélyezve a .NET 10-ben | Figyelmeztetésként |
| Alkalmazandó nyelvek | C# és Visual Basic |
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 TResulteredményhez vezethet. Ez a szabály jelzi a SuppressThrowing és Task<TResult> használatát, és a hibát a buildelési időpontban, nem pedig a futásidőben tárja fel.
Szabálysértések kijavítása
A Task<TResult> elemet alakítsa át nem generikus Task típusra a ConfigureAwait(ConfigureAwaitOptions) hívása előtt.
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 nyomja el ennek a szabálynak a figyelmeztetéseit. Ha a feladat hibás vagy megszakítva, a TResult értéktelen lesz, ami futásidejű hibákat okoz.