Erro do Compilador CS0192Compiler Error CS0192

Os campos do campo somente leitura estático ' name ' não podem ser passados como ref ou out (exceto em um construtor estático)Fields of static readonly field 'name' cannot be passed ref or out (except in a static constructor)

Um campo (variável) marcado com a palavra-chave ReadOnly não pode ser passado para um parâmetro ref ou out , exceto dentro de um construtor.A field (variable) marked with the readonly keyword cannot be passed either to a ref or out parameter except inside a constructor. Para obter mais informações, consulte Campos.For more information, see Fields.

CS0192 também resultará se o readonly campo for estático e o construtor não estiver marcado static .CS0192 also results if the readonly field is static and the constructor is not marked static.

ExemploExample

O exemplo a seguir gera CS0192.The following sample generates 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()  
    {  
    }  
}