Errore del compilatore CS0191

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile effettuare un'assegnazione alla proprietà o all'indicizzatore 'name' poiché è di sola lettura
Property or indexer 'name' cannot be assigned to -- it is read only

Un campo readonly può accettare un'assegnazione solo in un costruttore o nella dichiarazione. Per ulteriori informazioni, vedere Costruttori (Guida per programmatori C#).

L'errore CS0191 viene visualizzato anche se il campo readonly è di tipo static e il costruttore non è contrassegnato come static.

Esempio

Il seguente codice di esempio genera l'errore CS0191.

// CS0191.cs
class MyClass
{
    public readonly int TestInt = 6;  // OK to assign to readonly field in declaration

    MyClass()
    {
        TestInt = 11; // OK to assign to readonly field in constructor
    }

    public void TestReadOnly()
    {
        TestInt = 19;                  // CS0191
    }

    public static void Main()
    {
    }
}