언어

CA2259: ThreadStatic이 정적 필드에서만 사용되는지 확인합니다.

속성 값
규칙 ID CA2259
제목 정적 필드에만 사용되는지 확인 ThreadStatic
범주 사용 현황
수정 사항이 호환성을 깨뜨리는지 여부 또는 무중단인지 여부 주요 변경 아님
.NET 10에서 기본적으로 사용하도록 설정 경고로서
적용 가능한 언어 C# 및 Visual Basic

원인

ThreadStaticAttribute 특성은 인스턴스 필드에 적용됩니다.

규칙 설명

필드 값이 각 스레드에 대해 고유하다는 것을 나타내는 ThreadStaticAttribute는 static(Visual Basic의 경우 Shared) 필드에만 영향을 줍니다. 인스턴스 필드에 적용된 특성은 동작에 영향을 주지 않습니다.

위반을 해결하는 방법

위반을 해결하려면 필드에서 ThreadStaticAttribute 특성을 제거합니다.

예

다음 코드 조각은 CA2259 위반을 보여 줍니다.

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

경고를 표시하지 않는 경우

이 규칙의 경고를 억제하는 것이 안전합니다. 그러나 [ThreadStatic] 특성은 nop이며 의도한 작업을 수행하지 않습니다.

관련 항목 보기