Encapsulation C # Neuling

Neu in C #, und ich verstehe, dass die Kapselung nur ein Weg zum "Schützen von Daten" ist. Aber ich bin immer noch unklar. Ich dachte, dass diePunkt von get- und set-Zugriffsmethoden mussten Tests innerhalb dieser Methoden hinzufügen, um zu überprüfen, ob Parameter bestimmte Kriterien erfüllen, bevor eine externe Funktion etwas wie das folgende abrufen und festlegen kann:

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

    } 
}

Aber ich habe Code in c # gesehen, der einfach so aussieht:

public string MyName { get; set; }

Warum sollten Sie nur ein Get-and-Set mit nichts drin haben - ist das nicht das Gleiche, als würden Sie Ihr privates Backing-Feld für öffentlich erklären? Wenn Sie es nur von außen bekommen und einstellen können, warum würden Sie es dann nicht direkt tun?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage