CA2259: ThreadStatic が静的フィールドでのみ使用されていることを確認してください

プロパティ
ルール ID CA2259
Title ThreadStatic が静的フィールドでのみ使用されていることを確認してください
[カテゴリ] 使用方法
修正が中断ありか中断なしか なし
.NET 8 では既定で有効 警告として

原因

ThreadStaticAttribute 属性はインスタンス フィールドに適用されます。

規則の説明

ThreadStaticAttributeは、フィールドの値がスレッドごとに一意であることを示し、static フィールド (Visual Basic では Shared) にのみ影響します。 インスタンス フィールドに適用した場合、 属性は動作に影響しません。

違反の修正方法

この違反を修正するには、フィールドから ThreadStaticAttribute 属性を削除します。

次のコード スニペットは、CA2259 の違反を示しています。

class C
{
    [ThreadStatic]
    public int number = 404;
}
Class C
    <ThreadStatic>
    Public number As Integer = 404
End Class

どのようなときに警告を抑制するか

この規則による警告を抑制しても問題ありません。 ただし、 [ThreadStatic] 属性は nop であり、意図したとおりの処理を行っていません。

こちらもご覧ください