CS0843 de erro do compilador
Mensagem de erro
Campo existente para a propriedade automaticamente implementada 'nome' deve ser totalmente atribuído antes 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, primeiro você deve chamar o construtor padrão para criar o objeto.
Para corrigir este erro
- Adicione uma telefonar 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 (Referência C#).
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;
}
}