CA2259: убедитесь ThreadStatic , что используется только со статическими полями

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

Причина

Атрибут 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] что вы намеревались сделать.

См. также