En gran parte del código que he visto (en SO, thecodeproject.com y tiendo a hacer esto en mi propio código), he visto propiedades públicas que se crean para cada campo privado que una clase contiene, incluso si son el tipo más básico de get; set;
como:¿Debo usar propiedades públicas y campos privados o campos públicos para los datos?
private int myInt;
public int MyInt
{
get { return myInt; }
set { myInt = value }
}
Mi pregunta es: ¿Cómo difiere esto de:
public int MyInt;
y si debemos utilizar propiedades en lugar de campos públicos ¿por qué debemos usar en este específica ¿caso? (No estoy hablando de ejemplos más complejos en los que los getters y los setters realmente hacen algo especial o solo hay un get o set (solo lectura/escritura) en lugar de solo devolver/establecer un valor de un campo privado). ¡No parece agregar ninguna encapsulación adicional, solo da un bonito icono en IntelliSense y se coloca en una sección especial en los diagramas de clase!
¿No es esto realmente un duplicado? –
¡Es difícil de creer que esta pregunta no se haya formulado aquí hasta ahora! –
Lo fue, y lo hice, creo. Espera mientras lo busco ... – RCIX