Freigeben über


Compilerfehler CS1648

Member des schreibgeschützten Felds 'identifier' können nicht bearbeitet werden (Ausnahme: in einem Konstruktor oder einem Variableninitialisierer).

Dieser Fehler tritt auf, wenn versucht wird, ein Member eines schreibgeschützten Felds zu ändern, wo Änderungen nicht zulässig sind. Um diesen Fehler zu beheben, beschränken Sie Zuweisungen an schreibgeschützte Felder auf den Konstruktor oder Variableninitialisierer, oder entfernen Sie das Schlüsselwort „readonly“ aus der Deklaration des Felds.

Beispiel

Im folgenden Beispiel wird CS1648 generiert:

// CS1648.cs
public struct Inner
{
    public int i;
}

class Outer
{
    public readonly Inner inner = new Inner();
}

class D
{
    static void Main()
    {
        var outer = new Outer();
        outer.inner.i = 1;  // CS1648
    }
}