Compartilhar via


CS0546 de erro do compilador

Mensagem de erro

'assessor': não é possível substituir porque 'propriedade' não tem um acessador conjunto substituível

Tentar substituir um dos métodos acessadores para uma propriedade falhou porque o acessador não pode ser substituído.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 em uma propriedade de 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 CS0546.

// CS0546.cs
// compile with: /target:library
public class a
{
   public virtual int i
   {
      get
      {
         return 0;
      }
   }

   public virtual int i2
   {
      get
      {
         return 0;
      }

      set {}
   }
}

public class b : a
{
   public override int i
   {
      set {}   // CS0546 error no set
   }

   public override int i2
   {
      set {}   // OK
   }
}