CA1500: Nazwy zmiennych nie powinny odpowiadać nazwom pól
Pozycja | Wartość |
---|---|
Ruleid | CA1500 |
Kategoria | Microsoft.Maintainability |
Zmiana powodująca niezgodność | Po uruchomieniu na parametrze o takiej samej nazwie jak pole: - Niezgodność — jeśli zarówno pole, jak i metoda, która deklaruje parametr nie mogą być widoczne poza zestawem, niezależnie od wprowadzania zmian. - Niezgodność — jeśli zmienisz nazwę pola i będzie można je zobaczyć poza zestawem. - Niezgodność — jeśli zmienisz nazwę parametru i metodę, która deklaruje, że może być widoczna poza zestawem. Po uruchomieniu w zmiennej lokalnej, która ma taką samą nazwę jak pole: - Niezgodność — jeśli pole nie może być widoczne poza zestawem, niezależnie od wprowadzania zmian. - Niezgodność — jeśli zmienisz nazwę zmiennej lokalnej i nie zmienisz nazwy pola. - Niezgodność — jeśli zmienisz nazwę pola i będzie można go zobaczyć poza zestawem. |
Przyczyna
Metoda wystąpienia deklaruje parametr lub zmienną lokalną, której nazwa pasuje do pola wystąpienia typu deklarowanego. Aby przechwycić zmienne lokalne naruszające regułę, testowany zestaw musi zostać skompilowany przy użyciu informacji debugowania, a skojarzony plik bazy danych programu (.pdb) musi być dostępny.
Opis reguły
Gdy nazwa pola wystąpienia jest zgodna z parametrem lub nazwą zmiennej lokalnej, do pola wystąpienia uzyskuje się dostęp przy użyciu słowa kluczowego this
(Me
w Visual Basic) w treści metody. Podczas obsługi kodu można łatwo zapomnieć o tej różnicy i założyć, że parametr/zmienna lokalna odnosi się do pola wystąpienia, co prowadzi do błędów. Dotyczy to szczególnie długich ciał metod.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, zmień nazwę parametru/zmiennej lub pola.
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżeń dla tej reguły.
Przykład
W poniższym przykładzie przedstawiono dwa naruszenia reguły.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla