컴파일러 경고(수준 3) CS0414

프라이빗 필드 'field'가 할당되었지만 해당 값은 사용되지 않습니다.

비고

이 경고는 명시적 빌드 또는 다시빌드 작업 중에만 보고됩니다. IntelliSense 진단의 일부로 IDE에 입력하는 동안 표시되지 않습니다. 즉, 필드를 사용하거나 제거하여 경고를 수정하는 경우 프로젝트를 다시 빌드하거나 다시 빌드할 때까지 경고가 오류 목록에 유지될 수 있습니다.

이 경고는 컴파일러가 변수가 참조되지 않는지 확인할 수 있는 여러 시나리오에서 발생할 수 있습니다.

  • 프라이빗 필드에는 상수 값이 할당되지만 이후에는 읽지 않습니다. 불필요한 할당이 성능에 영향을 미칠 수 있습니다. 필드를 제거하는 것이 좋습니다.

  • 프라이빗 또는 내부 정적 필드에는 이니셜라이저에서만 상수 값이 할당됩니다. 필드를 const로 변경하는 것이 좋습니다.

  • 프라이빗 또는 내부 필드에는 상수 값이 할당되며 #ifdef 지시문에서 제외되는 블록에서만 사용됩니다. 필드를 #ifdef 블록 내에 배치하는 것이 좋습니다.

  • 프라이빗 또는 내부 필드에는 여러 위치에 상수 값이 할당되지만, 그렇지 않으면 액세스되지 않습니다. 필드가 필요하지 않은 경우 제거하는 것이 좋습니다. 그렇지 않으면 적절한 방법으로 사용합니다.

다른 경우 또는 제안된 해결 방법이 허용되지 않는 경우 #pragma 0414를 사용합니다.

다음 샘플에서는 CS0414가 생성되는 한 가지 방법을 보여 줍니다.

// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

비고

변수 i 가 선언 protectedpublic된 경우 컴파일러가 파생 클래스를 사용할 수 있는지 또는 다른 클라이언트 코드가 클래스를 인스턴스화하고 변수를 참조할지 여부를 알 수 없으므로 오류가 생성되지 않습니다.

참고하십시오