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.