Me encuentro con esto con tanta frecuencia que pensé que vería lo que otros tenían que decir al respecto.¿Cuál es una buena convención de nombres para diferenciar un nombre de clase de una propiedad en C#?
Usando las convenciones de StyleCop, me parece que a menudo tengo un nombre de propiedad que es difícil de hacer diferente al nombre de clase al que está accediendo. Por ejemplo:
public class ProjectManager
{
// Stuff here
}
public class OtherClass
{
private ProjectManager ProjectManager { get; set; }
}
Se compila y ejecuta, pero parece que sería una manera fácil de confundir las cosas, incluso con el uso de "este".
El problema de Color de color. Si el mejor nombre para la propiedad * es * el nombre de la clase, ve con él. De lo contrario, podría adquirir el hábito de complicar innecesariamente su propiedad y/o los nombres de clase. –
Estoy de acuerdo, me confunde también. esto. ProjectManager lo resuelve bastante bien. – kenny
De hecho, este es el famoso problema de "Color de color". El lenguaje C# ha sido cuidadosamente diseñado para que pueda salirse con la suya con este patrón, pero sí causa algunos casos de esquina interesantes. Para un análisis de las consecuencias de estas reglas, consulte mi artículo: http://blogs.msdn.com/ericlippert/archive/2009/07/06/color-color.aspx –