CA2221:终结器应受到保护
类型名 |
FinalizersShouldBeProtected |
CheckId |
CA2221 |
类别 |
Microsoft.Usage |
是否重大更改 |
否 |
原因
公共类型实现的终结器未指定族(受保护)访问。
规则说明
终结器必须使用族访问修饰符。 该规则由 C#、Visual Basic 和 Visual C++ 编译器强制实施。
如何解决冲突
要修复与该规则的冲突,请将终结器更改为可进行族访问。
何时禁止显示警告
不要禁止显示此规则发出的警告。
示例
在任何高级 .NET 语言中,都不能与该规则冲突;如果编写 Microsoft 中间语言,则可以与该规则冲突。
// =============== 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