Бөлісу құралы:


CA2259: ThreadStatic должен использоваться только со статическими полями.

Свойство Значение
Идентификатор правила CA2259
Заголовок Убедитесь, что ThreadStatic используется только со статическими полями.
Категория Использование
Исправление является критическим или не критическим неразрывный
Включен по умолчанию в .NET 10 Как предупреждение
Применимые языки C# и Visual Basic

Причина

Атрибут ThreadStaticAttribute применяется к полю экземпляра.

Описание правила

ThreadStaticAttribute, указывающий, что значение поля уникально для каждого потока, влияет только на поля static (Shared в Visual Basic). При применении к полям экземпляра атрибут не влияет на поведение.

Как исправить нарушение

Чтобы устранить нарушение, удалите ThreadStaticAttribute атрибут из поля.

Пример

В следующем фрагменте кода показано нарушение CA2259:

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

Когда лучше отключить предупреждения

Можно безопасно подавить предупреждение этого правила. Однако этот атрибут является nop и не выполняет то, что вы намеревались [ThreadStatic] сделать.

См. также