Encapsulation C # newbie

Nowość w C # i rozumiem, że hermetyzacja jest po prostu sposobem „ochrony danych”. Ale nadal jestem niejasny. Myślałem, żepunkt get i set accessors miały dodawać testy w ramach tych metod, aby sprawdzić, czy parametry spełniają określone kryteria, przed zezwoleniem zewnętrznej funkcji na pobranie i ustawienie czegokolwiek, na przykład:

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;
        }

    } 
}

Ale widziałem kod w c #, który wygląda tak:

public string MyName { get; set; }

Dlaczego miałbyś po prostu dostać i ustawić z niczego tam, - czy to nie to samo, co publiczne deklarowanie swojego zaplecza? Jeśli możesz po prostu zdobyć i ustawić z zewnątrz, dlaczego nie zrobiłbyś tego bezpośrednio?

questionAnswers(5)

yourAnswerToTheQuestion