CA2259: Ensure ThreadStatic
is only used with static fields
Property | Value |
---|---|
Rule ID | CA2259 |
Title | Ensure ThreadStatic is only used with static fields |
Category | Usage |
Fix is breaking or non-breaking | Non-breaking |
Enabled by default in .NET 8 | As warning |
Cause
The ThreadStaticAttribute attribute is applied to an instance field.
Rule description
ThreadStaticAttribute, which indicates that the value of a field is unique for each thread, only affects static
(Shared
in Visual Basic) fields. When applied to instance fields, the attribute has no impact on behavior.
How to fix a violation
To fix a violation, remove the ThreadStaticAttribute attribute from the field.
Example
The following code snippet shows a violation of CA2259:
class C
{
[ThreadStatic]
public int number = 404;
}
Class C
<ThreadStatic>
Public number As Integer = 404
End Class
When to suppress warnings
It's safe to suppress a warning from this rule. However, the [ThreadStatic]
attribute is a nop and isn't doing what you intended it to do.
See also
Cộng tác với chúng tôi trên GitHub
Bạn có thể tìm thấy nguồn cho nội dung này trên GitHub, nơi bạn cũng có thể tạo và xem lại các vấn đề và yêu cầu kéo. Để biết thêm thông tin, hãy xem hướng dẫn dành cho người đóng góp của chúng tôi.