Partilhar via


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

Propriedade valor
ID da regra CA2259
Título Certifique-se de que ThreadStatic é usado apenas com campos estáticos
Categoria Utilização
A correção causa interrupção ou não Ininterrupto
Habilitado por padrão no .NET 10 Como aviso
Línguas aplicáveis C# e Visual Basic

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 apenas campos static (Shared no Visual Basic). 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 [ThreadStatic] é um "nop" e não está a executar a função pretendida.

Consulte também