CA1500: имена переменных не должны совпадать с именами полей
Товар | Значение |
---|---|
Идентификатор правила | CA1500 |
Категория | Microsoft.Supportability |
Критическое изменение | При запуске параметра, имеющего то же имя, что и поле: - Если поле и метод, объявляющие параметр, не могут быть замечены вне сборки, независимо от внесенных изменений. — Критическое — если изменить имя поля и можно увидеть за пределами сборки. — Критическое — если изменить имя параметра и метод, объявляющий его, можно увидеть за пределами сборки. При запуске локальной переменной, которая имеет то же имя, что и поле: — Если поле не удается увидеть за пределами сборки, независимо от внесенных изменений. - Неразрывно. Если изменить имя локальной переменной и не изменить имя поля. — Критическое — если изменить имя поля и его можно увидеть за пределами сборки. |
Причина
Метод экземпляра объявляет параметр или локальную переменную, имя которой соответствует полю экземпляра декларающего типа. Чтобы поймать локальные переменные, которые нарушают правило, тестовая сборка должна быть создана с помощью сведений об отладке, а соответствующий файл базы данных программы (PDB) должен быть доступен.
Описание правила
Если имя поля экземпляра совпадает с параметром или именем локальной переменной, то поле экземпляра обращается с помощью this
Me
ключевое слово (в Visual Basic) в тексте метода. При сохранении кода это различие легко забыть и предположить, что переменная параметра или локальной переменной ссылается на поле экземпляра, что приводит к ошибкам. Это верно, особенно для длинных тел метода.
Устранение нарушений
Чтобы устранить нарушение этого правила, переименуйте параметр или переменную или поле.
Когда лучше отключить предупреждения
Для этого правила отключать вывод предупреждений не следует.
Пример
В следующем примере показаны два нарушения правила.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по