CA1500: Názvy proměnných by neměly odpovídat názvům polí
Název_typu |
VariableNamesShouldNotMatchFieldNames |
CheckId |
CA1500 |
Kategorie |
Microsoft.Maintainability |
Změnit rozdělení |
Vyvolání na parametr, který má stejný název jako pole:
Vyvolání na místní proměnnou, která má stejný název jako pole:
|
Příčina
Metody instance deklaruje parametr nebo lokální proměnné, jejichž název odpovídá deklarující typ pole instance.Chcete-li místní proměnné, které porušují pravidla, musí být sestavena testované sestavení pomocí ladicích informací a přidružený program soubor databáze (PDB) musí být k dispozici.
Popis pravidla
Pokud název pole instance odpovídá parametr nebo místní název proměnné, pole instance je přístupný this (Me v Visual Basic) klíčové slovo při uvnitř těla metody.Při zachování kódu je snadné zapomenout tento rozdíl a předpokládá, že parametr nebo místní proměnná odkazuje na pole instance, což vede k chybám.To platí zejména pro subjekty metodu zdlouhavé.
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla parametru nebo proměnné nebo pole přejmenujte.
Při potlačení upozornění
Nepotlačovat upozornění od tohoto pravidla.
Příklad
Následující příklad ukazuje dva porušení pravidla.
Imports System
Namespace MaintainabilityLibrary
Class MatchingNames
Dim someField As Integer
Sub SomeMethodOne(someField As Integer)
End Sub
Sub SomeMethodTwo()
Dim someField As Integer
End Sub
End Class
End Namespace
using System;
namespace MaintainabilityLibrary
{
class MatchingNames
{
int someField;
void SomeMethodOne(int someField) {}
void SomeMethodTwo()
{
int someField;
}
}
}