Errore del compilatore CS0192

Aggiornamento: novembre 2007

Messaggio di errore

I campi di un campo statico readonly 'nome' non possono essere passati come ref o out (tranne che in un costruttore statico)
Fields of static readonly field 'name' cannot be passed ref or out (except in a static constructor)

Un campo (variabile) contrassegnato con la parola chiave readonly non può essere passato a un parametro ref o out tranne che in un costruttore. Per ulteriori informazioni, vedere Campi (Guida per programmatori C#).

L'errore CS0192 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 CS0192.

// CS0192.cs
class MyClass
{
    public readonly int TestInt = 6;
    static void TestMethod(ref int testInt)
    {
        testInt = 0;
    }

    MyClass()
    {
        TestMethod(ref TestInt);   // OK
    }

    public void PassReadOnlyRef()
    {
        TestMethod(ref TestInt);   // CS0192
    }

    public static void Main()
    {
    }
}