CA2259: Asegúrese de que ThreadStatic solo se usa con campos estáticos

Propiedad Value
Identificador de la regla CA2259
Título Asegúrese de que ThreadStatic solo se usa con campos estáticos
Categoría Uso
La corrección es problemática o no problemática Poco problemático
Habilitado de forma predeterminada en .NET 8 Como advertencia

Causa

El atributo ThreadStaticAttribute se aplica a un campo de instancia.

Descripción de la regla

ThreadStaticAttribute, lo cual indica que el valor de un campo es único para cada subproceso, solo afecta a los campos static (Shared en Visual Basic). Cuando se aplica a los campos de instancia, el atributo no tiene ningún impacto en el comportamiento.

Corrección de una infracción

Para corregir una infracción, elimine el atributo ThreadStaticAttribute del campo.

Ejemplo

En el siguiente fragmento de código se muestra una infracción de la regla CA2259:

class C
{
    [ThreadStatic]
    public int number = 404;
}
Class C
    <ThreadStatic>
    Public number As Integer = 404
End Class

Cuándo suprimir las advertencias

Se puede suprimir una advertencia de esta regla. Sin embargo, el atributo [ThreadStatic] es un nop y no hace lo que el usuario pretendía.

Vea también