CA1500: Los nombres de las variables no deben coincidir con los nombres de los campos
Elemento | Valor |
---|---|
RuleId | CA1500 |
Category | Microsoft.Maintainability |
Cambio importante | Cuando se desencadena en un parámetro que tiene el mismo nombre que un campo: - No problemático: si el campo y el método que declara el parámetro no se pueden ver fuera del ensamblado, independientemente del cambio que realice. - Problemático: si cambia el nombre del campo y se puede ver fuera del ensamblado. - Problemático: si cambia el nombre del parámetro y el método que lo declara se puede ver fuera del ensamblado. Cuando se desencadena en una variable local que tiene el mismo nombre que un campo: - No problemático: si el campo no se puede ver fuera del ensamblado, independientemente del cambio que realice. - No problemático: si cambia el nombre de la variable local y no cambia el nombre del campo. - Problemático: si cambia el nombre del campo y se puede ver fuera del ensamblado. |
Causa
Un método de instancia declara un parámetro o una variable local cuyo nombre coincide con un campo de instancia del tipo declarativo. Para detectar variables locales que infringen la regla, el ensamblado probado debe compilarse mediante la información de depuración y el archivo de base de datos de programa (.pdb) asociado debe estar disponible.
Descripción de la regla
Cuando el nombre de un campo de instancia coincide con un nombre de parámetro o de variable local, se obtiene acceso al campo de instancia mediante this
(Me
en Visual Basic) cuando se encuentra dentro del cuerpo del método. Al mantener el código, es fácil olvidar esta diferencia y asumir que el parámetro o la variable local hacen referencia al campo de instancia, lo que conduce a errores. Esto es cierto especialmente en el caso de cuerpos de método largos.
Cómo corregir infracciones
Para corregir una infracción de esta regla, cambie el nombre del parámetro o variable o del campo.
Cuándo suprimir las advertencias
No suprima las advertencias de esta regla.
Ejemplo
En el ejemplo siguiente se muestran dos infracciones de la regla.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de