Udostępnij za pośrednictwem


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

CA1812: Uniknąć bez wystąpień klas wewnętrznych

CA1804: Usuwanie nieużywanych zmiennych lokalnych