CA2259:确保仅将 ThreadStatic 用于静态字段

属性
规则 ID CA2259
标题 确保 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,并且未执行预期操作。

另请参阅