Suppressing C# Compiler Warnings





 소스 코드를 컴파일 하면 VS의 오류창이나 출력창에 경고나 에러 목록을 보여준다. 나는 프로젝트의 경고 레벨을 최고로 높이고, 소스 코드 정적 분석을 수행하여 어떠한 오류도 출력 되지 않아야 한다고 배웠다. 지금은 누구하나 강요하는 사람은 없지만 스스로 지키려고 노력한다. 경고가 나오면 경고 메시지가 나오지 않게 수정하는것을 원칙으로 하고!! MFC 에서와 마찬가지로 C# 에서도 경고 메시지를 무시하는 방법이 있어 알아보고 넘어가려 한다.


■ 테스트를 위한 경고를 발생하는 코드 작성

internal class TestClass
{
        private int unused;
        private int assigned = 3;
}

위 코드를 컴파일 하면 출력창에 다음과 같은 경고 메시지가 출력된다.

warning CS0169: The field 'WindowsFormsApplication1.TestClass.unused' is never used
warning CS0414: The field 'WindowsFormsApplication1.TestClass.assigned' is assigned but its value is never used

첫 번째 경고는 변수가 선언만 되었지 사용되지 않았음을 말하고, 두 번째 경고는 변수가 할당 되었지만 사용되지 않았음을 말한다. 


■ 특정 경고 무시하기

#pragma warning disable 경고번호

internal class TestClass
{
#pragma warning disable 169, 414
        private int unused;
        private int assigned = 3;
}

#pragma warning disable 을 사용하여 169번, 414번 경고를 무시하게 했다. 이렇게 하면 이 이후의 모든 코드에서 169번, 414번 경고는 무시되게 된다.


■ 경고 무시 해제

#pragma warning restore 경고번호

internal class TestClass
{
#pragma warning disable 169, 414
        private int unused;
        private int assigned = 3;
#pragma warning restore 169, 414
}




그래도 경고는 무시할게 아니라 꼭!! 수정하자.





Posted by six605
,