Encapsulado C # novato
Nuevo en C #, y entiendo que la encapsulación es solo una forma de "proteger datos". Pero todavía no estoy claro. Pensé que elpunto Los métodos de acceso para obtener y establecer fueron para agregar pruebas dentro de esos métodos para verificar si los parámetros cumplen con ciertos criterios, antes de permitir que una función externa obtenga y establezca algo, como esto:
private string myName;
public string MyName;// this is a property, speical to c#, which sets the backing field.
private string myName = "mary";// the backing field.
public string MyName // this is a property, which sets/gets the backing field.
{
get
{
return myName;
}
set
{
if (value != "Silly Woman"){
myName = value;
}
}
}
Pero he estado viendo el código en c # que se ve así:
public string MyName { get; set; }
¿Por qué simplemente obtendría un conjunto y no tendría nada allí, no es lo mismo que declarar público su campo de respaldo privado? Si puede obtenerlo y configurarlo desde afuera, ¿por qué no lo haría directamente?