Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
CA2259:
| Свойство | Значение |
|---|---|
| Идентификатор правила | 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] сделать.