CA2221: методы завершения должны быть защищены
Товар | Значение |
---|---|
Идентификатор правила | CA2221 |
Категория | Microsoft.Usage |
Критическое изменение | Не критическое |
Причина
Общедоступный тип реализует метод завершения, который не указывает доступ к семейству (защищенным).
Примечание.
Это правило устарело. Дополнительные сведения см. в разделе "Устаревшие правила".
Описание правила
В методах завершения должен использоваться модификатор доступа из семейства. Это правило применяется компиляторами C#, Visual Basic и C++.
Устранение нарушений
Чтобы устранить нарушение этого правила, измените метод завершения на доступ к семейству.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует.
Пример
Это правило не может быть нарушено на любом высокоуровневом языке .NET; Это может быть нарушено, если вы пишете промежуточный язык Майкрософт.
// =============== 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 Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по