CA2259: Sicherstellen, dass ThreadStatic nur mit statischen Feldern verwendet wird

Eigenschaft Wert
Regel-ID CA2259
Titel Sicherstellen, ThreadStaticdass 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.

Weitere Informationen