Kürzel Accessoren und Mutatoren

Lerne ich C#, und Lerne darum, Felder private die Klasse, und mit Getter und Setter zu setzen-Methoden anstelle von Feldwerten.

Sind die get; set; im Methode 1 und Methode 2 äquivalent? Z. B. ist eine Abkürzung von den anderen?

class Student
{
    //Instance fields
    private string name;
    private int mark;

    //Method 1
    public string Name { get; set; }

    //Method 2
    public int Mark
    {
        get { return mark; }
        set { mark = value; }
    }
}

Schließlich würde Methode 2 verwendet werden, wenn Sie möchten, um zum Beispiel eine Berechnung durchführen bevor Sie-Einstellung oder einen Wert? wie beispielsweise die Umwandlung Wert um einen Prozentsatz oder Validierung? z.B.

class Student
{
    //Instance fields
    private string name;
    private double mark;
    private int maxMark = 50;

    //Method 1
    public string Name { get; set; }

    //Method 2
    public double Mark
    {
        get { return mark; }
        set { if ( mark <= maxMark ) mark = value / maxMark * 100; }
    }
}
Haben Sie einen Blick auf diese Antwort; es zeigt sich etwas im detail.
möglich, Duplikat der Was sind Automatische Eigenschaften in C# und was ist Ihr Zweck?

InformationsquelleAutor Gravy | 2013-05-25

Schreibe einen Kommentar