Error del compilador CS0546
'accessor': no se puede reemplazar porque 'property' no tiene un descriptor de acceso set reemplazable
Error al intentar reemplazar uno de los métodos de descriptor de acceso para una propiedad porque no se puede reemplazar el descriptor de acceso. Este error se puede generar si:
Si la propiedad de clase base no está declarada como virtual.
Si la propiedad de clase base no declara el descriptor de acceso get o set que está intentando reemplazar.
Si no desea reemplazar la propiedad de clase base, puede usar la palabra clave new antes de la propiedad en una clase derivada.
Para obtener más información, consulta Using Properties.
El ejemplo siguiente genera la advertencia CS0546 porque la clase base no declara ningún descriptor de acceso set para la propiedad.
// 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
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: