CS0844 de erro do compilador

Mensagem de erro

Não é possível usar a variável local 'nome' antes de declará-la.A declaração de variável local oculta o campo 'nome'.

Um identificador pode ter apenas um significado em um determinado bloco.Variáveis locais têm o mesmo nome sistema autônomo campos de classe podem ocultar o campo com a introdução de um segundo significado para o identificador.Portanto o compilador gerará um erro ao se referir a um campo de classe em um método e, em seguida, declare uma variável local com o mesmo nome.

Para corrigir este erro

  • Usar this. num to refer to the class field.

  • Dê um nome diferente do campo <a0>classe de variável local.

Exemplo

O código a seguir gera CS0844:

class Test
    {
        int num;
        public void TestMethod()
        {
            num = 5; // CS0844
            int num = 6;        }
        public static int Main()
        {
            return 1;
        }
    }