Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1648

Nie można modyfikować elementów członkowskich pola odczytu "identyfikator" (z wyjątkiem konstruktora lub inicjatora zmiennej)

Ten błąd występuje, gdy próbujesz zmodyfikować element członkowski pola, który jest czytelnie, gdzie nie można go modyfikować. Aby rozwiązać ten błąd, ogranicz przypisania do pól tylko do odczytu do konstruktora lub inicjatora zmiennej lub usuń słowo kluczowe readonly z deklaracji pola.

Przykład

Poniższy przykład generuje CS1648:

C#
// 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
    }
}