Freigeben über


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

Eigenschaft Wert
Regel-ID CA2259
Titel Stellen Sie sicher, dass ThreadStatic nur mit statischen Feldern verwendet wird.
Kategorie Verwendung
Fix führt zu Unterbrechungen oder bleibt funktionsfähig Untrennbar
Standardmäßig in .NET 10 aktiviert Als Warnung
Anwendbare Sprachen C# und Visual Basic

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.

Einen Verstoß beheben

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 hat jedoch keine Wirkung und bewirkt nicht das, was Sie beabsichtigen.

Siehe auch