CS0843 de erro do compilador

Campo existente para a propriedade automaticamente implementada 'nome' deve ser totalmente atribuído antes que o controle é retornado ao chamador.Considere a possibilidade de chamar o construtor padrão de um inicializador de construtor.

Para atribuir um valor a uma propriedade implementada automaticamente de um construtor, você deve primeiro chamar o construtor padrão para criar o objeto.

Para corrigir este erro

  • Adicione uma chamada para o construtor padrão em um inicializador de construtor, conforme mostrado no exemplo a seguir.Observe o uso de : this().Para obter mais informações, consulte Este (C# Reference).

Exemplo

O código a seguir gera CS0843:

// cs0843.cs
struct S
{
    public int AIProp { get; set; }
    public S(int i){} //CS0843
    // Try the following lines instead.
   // public S(int i) : this()
   // {
   //     AIProp = i;
   // }
}

class Test
{
    static int Main()
    {
        return 1;
    }
}