Entiendo las ventajas de PROPIEDADES sobre CAMPOS, pero siento como si usar propiedades implementadas AUTOMÁTICAMENTE sobre las propiedades implementadas MANUAL en realidad no proporciona ninguna ventaja más que hacer el código un poco más conciso para verlo.¿Alguna razón para usar las propiedades implementadas automáticamente sobre las propiedades implementadas manualmente?
me siento mucho más cómodo usando:
private string _postalCode;
public string PostalCode
{
get { return _postalCode; }
set { _postalCode = value; }
}
En lugar de:
public string PostalCode { get; set; }
principalmente porque si alguna vez quiero hacer cualquier tipo de implementación personalizada de obtener y definir, tengo que crear mi propiedad de todos modos respaldada por un campo privado. Entonces, ¿por qué no solo muerde la bala desde el principio y le das a todas las propiedades esta flexibilidad de inmediato, para mayor consistencia? Esto realmente no lleva sino un segundo extra, teniendo en cuenta que todo lo que tienes que hacer en Visual Studio es hacer clic en tu nombre de campo privado y presionar Ctrl + E, y listo. Y si lo hago de forma manual, entonces termino con una incoherencia en la que hay ALGUNAS propiedades públicas creadas manualmente respaldadas por campos privados, y ALGUNAS propiedades implementadas automáticamente. Me siento mucho mejor con todo lo que me rodea, ya sea automático o manual.
¿Soy yo? ¿Me estoy perdiendo de algo? ¿Me equivoco acerca de algo? ¿Estoy poniendo demasiado énfasis en la consistencia? Siempre puedo encontrar discusiones legítimas sobre las características de C#, y casi siempre hay ventajas y desventajas para todo, pero en este caso, realmente no pude encontrar a nadie que recomendara no usar las propiedades implementadas automáticamente.
Usted dice que también puede hacerlo ahora, porque en el futuro 'puede 'tener que hacerlo.¿Por qué perder el tiempo haciendo algo que es propenso al error (probablemente terminará copiando y pegando de todos modos), cuando puede hacerlo solo cuando es necesario? – Rob
Gracias Rob. Mi razonamiento es que con Visual Studio, puedo crear propiedades implementadas manualmente con solo presionar una tecla adicional, por lo que no hay copiar/pegar. Y si algún día necesito crear mi propia implementación, no termino con una brecha entre las propiedades implementadas automáticamente y las propiedades implementadas manualmente, es 100% uno o 100% el otro. Simplemente yendo completo al manual desde el principio, puedo crear mi propia implementación en cualquier momento sin que algunas propiedades se implementen automáticamente, y algunas propiedades sean manuales. Sin embargo, veo tu punto definitivamente. – CptSupermrkt
En ese caso, estoy de acuerdo con la implementación manual al 100%. Tiendo a tener un sesgo después de haber tropezado con muchos errores tipográficos con getters/setters manuales – Rob