CA1822: Znak członków jako statyczny
TypeName |
MarkMembersAsStatic |
CheckId |
CA1822 |
Kategoria |
Microsoft.Performance |
Zmiana kluczowa |
Niekluczowa - Jeśli element członkowski nie jest widoczny spoza zestawu, niezależnie dokonywanej zmiany.Niekluczowa - Jeśli tylko zmieniasz element członkowski do wystąpienia elementu członkowskiego ze słowem kluczowym this. Kluczowa - Jeśli zmieniasz element członkowski z wystąpienia elementu członkowskiego do statycznego elementu członkowskiego i jest on widoczny spoza zestawu. |
Przyczyna
Element członkowski, który nie uzyskuje dostępu do danych wystąpienia jest oznaczony jako statyczny (Współdzielony w Visual Basic).
Opis reguły
Elementy członkowskie, które nie uzyskują dostępu do danych wystąpienia i nie wywołują metod wystąpienia mogą zostać oznaczone jako statyczne (Współdzielone w Visual Basic).Po oznaczeniu metod jako statyczne, kompilator wygeneruje niewirtualne strony wywołań do tych członków.Strony emitujące niewirtualne wywołanie zapobiegną sprawdzeniu w czasie wykonywania dla każdego wywołania, które upewnia się, że wskaźnik na aktualny obiekt nie jest wartością null.Może to uzyskać wymierny przyrost wydajności dla kodu wrażliwego wydajnościowo.W niektórych przypadkach, niepowodzenie dostępu do aktualnego wystąpienia obiektu reprezentuje problem poprawności.
Jak naprawić naruszenia
Oznacz element członkowski jako statyczny (lub Współdzielony w Visual Basic) lub użyj 'this'/'Me' w ciele metody, jeśli jest to odpowiednie.
Kiedy pominąć ostrzeżenia
Można bezpiecznie pominąć ostrzeżenie od tej reguły dla poprzednio wysłanego kodu, dla którego naprawa byłaby zmianą kluczową.
Powiązane reguły
CA1811: Uniknąć nienależne kod prywatnych