Ensures ThreadStatic fields are marked static

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

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: may/unit-testing