호출되지 않는 전용 코드를 사용하지 마십시오.
업데이트: 2007년 11월
TypeName |
AvoidUncalledPrivateCode |
CheckId |
CA1811 |
범주 |
Microsoft.Performance |
변경 수준 |
주요 변경 아님 |
원인
전용 또는 내부(어셈블리 수준) 멤버가 어셈블리에 이를 호출하는 호출자가 없고, 공용 언어 런타임에서도 이 멤버를 호출하지 않으며, 대리자에서도 이 멤버를 호출하지 않습니다. 이 규칙에서 다음 멤버는 확인하지 않습니다.
명시적 인터페이스 멤버
정적 생성자
serialization 생성자
System.Runtime.InteropServices.ComRegisterFunctionAttribute 또는 System.Runtime.InteropServices.ComUnregisterFunctionAttribute로 표시된 메서드
재정의 멤버
규칙 설명
이 규칙에서는 규칙 논리에서 현재 식별할 수 없는 진입점이 있을 경우 가양성(false positives)을 보고할 수 있습니다. 또한 컴파일러에서 호출되지 않는 코드를 어셈블리로 내보낼 수 있습니다.
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면 호출되지 않는 코드를 제거하거나 이를 호출하는 코드를 추가합니다.
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시하지 않아도 안전합니다.
관련 규칙
예제
멤버를 전처리기 if# 영역에서 호출하는 경우 이 규칙은 가양성(false positive)을 보고하게 됩니다.
using System;
namespace SampleNamespace
{
class SampleClass
{
static void Main()
{
}
public void NotifyByEMail(string to)
{
// ...
}
public void AnotherMethod()
{
#if !DEBUG
NotifyByEMail("this.that@someplace.com");
#endif
}
}
}