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()
{
}
}