共用方式為


CA2221:完成項應該受到保護

型別名稱

FinalizersShouldBeProtected

CheckId

CA2221

分類

Microsoft.Usage

中斷變更

不中斷

原因

公用 (Public) 型別會實作未指定系列 (protected) 存取的完成項。

規則描述

完成項必須使用系列存取修飾詞 (Modifier)。 C#、Visual Basic 和 Visual 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

請參閱

參考

實作 Finalize 和 Dispose 以清除 Unmanaged 資源