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 9 | 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
Samarbeid med oss på GitHub
Du finner kilden for dette innholdet på GitHub. Der du også kan opprette og se gjennom problemer og pull-forespørsler. Hvis du vil ha mer informasjon, kan du se vår bidragsyterveiledning.