CS0192 de erro do compilador

Mensagem de erro

Campos do campo static readonly 'nome' não podem ser passados como ref ou out (exceto em um construtor estático)

Um campo (variável) marcada com o somente leitura palavra-chave não pode ser passado para um ref or check-out parâmetro, exceto dentro de um construtor.Para obter mais informações, consulte Campos (Guia de programação C#).

CS0192 também resultados se o readonly campo é estático e o construtor não está marcado como static.

Exemplo

O exemplo a seguir gera 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()
    {
    }
}