CA2259 : Vérifier que ThreadStatic
est utilisé uniquement avec des champs static
Propriété | Value |
---|---|
Identificateur de la règle | CA2259 |
Titre | Vérifier que ThreadStatic est utilisé uniquement avec des champs statiques |
Catégorie | Utilisation |
Le correctif est cassant ou non cassant | Sans rupture |
Activé par défaut dans .NET 8 | Comme avertissement |
Cause
L’attribut ThreadStaticAttribute est appliqué à un champ d’instance.
Description de la règle
ThreadStaticAttribute, qui indique que la valeur d’un champ est unique pour chaque thread, affecte uniquement les champs static
(Shared
en Visual Basic). Quand il est appliqué aux champs d’instance, l’attribut n’a aucun impact sur le comportement.
Comment corriger une violation
Pour corriger une violation, supprimez l’attribut ThreadStaticAttribute du champ.
Exemple
L’extrait de code suivant montre une violation de CA2259 :
class C
{
[ThreadStatic]
public int number = 404;
}
Class C
<ThreadStatic>
Public number As Integer = 404
End Class
Quand supprimer les avertissements
Vous pouvez supprimer un avertissement de cette règle. Toutefois, l’attribut [ThreadStatic]
est un nop et ne fait pas ce que vous vouliez qu’il fasse.