CA2221: 종료자는 protected여야 합니다.
항목 | 값 |
---|---|
RuleId | CA2221 |
범주 | Microsoft.Usage |
주요 변경 내용 | 주요 변경 아님 |
원인
public 형식은 패밀리(protected) 액세스를 지정하지 않는 종료자를 구현합니다.
참고 항목
이 규칙은 더 이상 사용되지 않습니다. 자세한 내용은 사용되지 않는 규칙을 참조하세요.
규칙 설명
종료자에서는 패밀리 액세스 한정자를 사용해야 합니다. 이 규칙은 C#, Visual Basic, C++ 컴파일러에서 적용됩니다.
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면 종료자를 패밀리 액세스 가능으로 변경합니다.
경고를 표시하지 않는 경우
이 규칙에서는 경고를 표시해야 합니다.
예시
이 규칙은 상위 수준 .NET 언어에서는 위반할 수 없고 Microsoft Intermediate Language를 작성하는 경우에는 위반할 수 있습니다.
// =============== CLASS MEMBERS DECLARATION ===================
// note that class flags, 'extends' and 'implements' clauses
// are provided here for information only
.namespace UsageLibrary
{
.class public auto ansi beforefieldinit FinalizeMethodNotProtected
extends [mscorlib]System.Object
{
.method public hidebysig instance void
Finalize() cil managed
{
// Code size 1 (0x1)
.maxstack 0
IL_0000: ret
} // end of method FinalizeMethodNotProtected::Finalize
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 1
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method FinalizeMethodNotProtected::.ctor
} // end of class FinalizeMethodNotProtected
} // end of namespace
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기