CA2259: Sicherstellen, dass ThreadStatic
nur mit statischen Feldern verwendet wird
Eigenschaft | Wert |
---|---|
Regel-ID | CA2259 |
Titel | Sicherstellen, ThreadStatic dass nur mit statischen Feldern verwendet wird |
Kategorie | Verwendung |
Fix führt oder führt nicht zur Unterbrechung | Nicht unterbrechend |
Standardmäßig in .NET 8 aktiviert | Als Warnung |
Ursache
Das ThreadStaticAttribute-Attribut wird auf ein Instanzfeld angewendet.
Regelbeschreibung
ThreadStaticAttribute, das angibt, dass der Wert eines Felds für jeden Thread eindeutig ist, wirkt sich nur auf static
-Felder (Shared
in Visual Basic) aus. Wenn es auf Instanzfelder angewendet wird, besitzt das Attribut keine Auswirkungen auf das Verhalten.
Beheben eines Verstoßes
Um einen Verstoß zu beheben, entfernen Sie das ThreadStaticAttribute-Attribut aus dem Feld.
Beispiel
Der folgende Codeschnipsel zeigt eine Verletzung von CA2259:
class C
{
[ThreadStatic]
public int number = 404;
}
Class C
<ThreadStatic>
Public number As Integer = 404
End Class
Wann sollten Warnungen unterdrückt werden?
Eine Warnung von dieser Regel kann problemlos unterdrückt werden. Das [ThreadStatic]
-Attribut ist jedoch eine Nulloperation und bewirkt nicht das, was Sie beabsichtigen.