Ensures ThreadStatic fields are marked static

Metadata

ID: csharp-best-practices/ignored-threadstatic

Language: C#

Severity: Error

Category: Best Practices

Description

If a non-static field is marked ThreadStatic, the ThreadStatic attribute will be ignored. In this case, this rule suggests changing the field to be static.

Non-Compliant Code Examples

class NonCompliant {
    [ThreadStatic] public int foo;
    [ThreadStatic] int foo;
}

Compliant Code Examples

class Compliant {
    [ThreadStatic] static int foo;
    [ThreadStatic] public static int foo;

    int foo = 1;

    ThreadLocal<int> foo = new ThreadLocal<int> (() => 1);
    
    ThreadLocal<int> foo;
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis

PREVIEWING: brett0000FF/node-compatibility