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?

Respuestas a la pregunta(5)

Su respuesta a la pregunta