CA1822: помечайте члены как статические
TypeName |
MarkMembersAsStatic |
CheckId |
CA1822 |
Категория |
Microsoft.Performance |
Критическое изменение |
Не критическое, если член не виден снаружи сборки вне зависимости от внесенных изменений.Не критическое, если член изменен на член экземпляра при помощи ключевого слова this. Критическое - если член виден снаружи сборки и он изменен с члена экземпляра на статический член. |
Причина
Член, не имеющий доступа к данным экземпляра, не помечен как статический (Shared в Visual Basic).
Описание правила
Члены, не обращающиеся к данным экземпляра и не вызывающие методы экземпляра, можно пометить как статические (Shared в Visual Basic).Если пометить методы как статические, компилятор предоставит этим членам невиртуальные места вызова.При этом отключается проверка каждого вызова во время выполнения (проверяется, что указатель текущего объекта не является нулевым).Это обеспечивает значительное повышение производительности при работе с кодом, для которого важна высокая производительность системы.В некоторых случаях невозможность доступа к экземпляру текущего объекта является нарушением правильности кода.
Устранение нарушений
Пометьте член как статический (или Shared в Visual Basic) или используйте "this"/"Me" в основной части метода, если возможно.
Отключение предупреждений
Можно безопасно отключать предупреждения этого правила для поставленного ранее кода, изменение которого будет критическим.
Связанные правила
CA1811: не используйте невызываемый закрытый код