Aviso do compilador (nível 3) CS0414

O campo privado 'field' é atribuído, mas seu valor nunca é usado

Observação

Esse aviso só é relatado durante as operações explícitas de Compilação ou Recompilação. Ele não aparece durante a digitação no IDE como parte do diagnóstico do IntelliSense. Isso significa que, se você corrigir o aviso usando o campo ou removendo-o, o aviso poderá persistir na lista de erros até que você compile ou recompile o projeto novamente.

Esse aviso pode ocorrer em vários cenários em que o compilador pode verificar se uma variável nunca é referenciada:

  • Um campo privado recebe um valor constante, mas nunca é lido posteriormente. A atribuição desnecessária pode afetar o desempenho. Considere remover o campo.

  • Um campo estático privado ou interno recebe um valor constante somente no inicializador. Considere alterar o campo para um const.

  • Um campo privado ou interno recebe valores constantes e é usado apenas em blocos excluídos por diretivas de #ifdef. Considere colocar o campo dentro do bloco #ifdef.

  • Um campo privado ou interno recebe valores constantes em vários locais, mas não é acessado de outra forma. Se você não precisar do campo, considere removê-lo. Caso contrário, use-o de alguma forma apropriada.

Em outras situações, ou em que a solução alternativa sugerida não seja aceitável, use #pragma 0414.

O exemplo a seguir mostra uma maneira pela qual o CS0414 será gerado:

// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

Observação

Se a variável i for declarada como protected ou public, nenhum erro será gerado porque o compilador não pode saber se uma classe derivada pode usá-la ou se algum outro código do cliente pode instanciar a classe e referenciar a variável

Consulte também