Partilhar via


CA2259: Certifique-se de ThreadStatic que só é usado com campos estáticos

Property valor
ID da regra CA2259
Título Certifique-se de ThreadStatic que é usado apenas com campos estáticos
Categoria Utilização
A correção está quebrando ou não quebrando Sem quebra
Habilitado por padrão no .NET 8 Como aviso

Motivo

O ThreadStaticAttribute atributo é aplicado a um campo de instância.

Descrição da regra

ThreadStaticAttribute, que indica que o valor de um campo é exclusivo para cada thread, afeta static apenas (Shared no Visual Basic) campos. Quando aplicado a campos de instância, o atributo não tem impacto no comportamento.

Como corrigir uma violação

Para corrigir uma violação, remova o ThreadStaticAttribute atributo do campo.

Exemplo

O trecho de código a seguir mostra uma violação de CA2259:

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

Quando suprimir avisos

É seguro suprimir um aviso desta regra. No entanto, o atributo é um nop e não está fazendo o [ThreadStatic] que você pretendia que ele fizesse.

Consulte também