Compartilhar via


CS0134 de erro do compilador

Mensagem de erro

'variável' é do tipo 'tipo'.Campo const de um tipo de referência Outros de seqüência de caracteres pode ser inicializada somente com nulo.

Uma expressão de constante é uma expressão que pode ser completamente avaliada em time de compilar.Como a única maneira de criar um valor nulo de um tipo de referência é aplicar o operador new, e o operador new não é permitido em uma expressão de constante, o valor só é possível para constantes de tipos de referência diferente de seqüência é nulo.

Se você encontrar esse erro tentando criar um Const matriz de seqüência de caracteres, a solução é tornar o array somente leitura e inicializá-la no construtor.

Exemplo

O exemplo a seguir gera CS0134.

// CS0134.cs
// compile with: /target:library
class MyTest {} 

class MyClass
{
   const MyTest test = new MyTest();   // CS0134

   //OK
   const MyTest test2 = null;
   const System.String test3 = "test";
}