CS0545 de erro do compilador

Mensagem de erro

'função': não é possível substituir porque 'propriedade' não tem um acessador get substituível

Foi feita uma tentativa para definir uma substituição para um acessador de propriedade quando a classe base possui tal definição não substituir.Você pode resolver esse erro por:

  • Adicionando um set acessador na classe base.

  • Removendo o set acessador de classe derivada.

  • Ocultando a propriedade de classe base, adicionando o novo palavra-chave a uma propriedade em uma classe derivada.

  • Tornar a propriedade da classe base virtual.

Para obter mais informações, consulte Usando Propriedades (guia de programação C#).

Exemplo

O exemplo a seguir gera CS0545.

// CS0545.cs
// compile with: /target:library
// CS0545
public class a
{
   public virtual int i
   {
      set {}

      // Uncomment the following line to resolve.
      // get { return 0; }
   }
}

public class b : a
{
   public override int i
   {
      get { return 0; }
      set {}   // OK
   }
}