Anular propiedad de solo lectura abstracta para leer / escribir propiedad

Me gustaría forzar solo la implementación de un captador de C # en una propiedad dada desde una clase abstracta base. Las clases derivadas podrían, si lo desean, también proporcionar un establecedor para esa propiedad para uso público del tipo enlazado estáticamente.

Dada la siguiente clase abstracta:

public abstract class Base
{
    public abstract int Property { get; }
}

Si quiero una clase derivada que también implemente un setter, podría intentar ingenuamente:

public class Derived : Base
{
    public override int Property
    {
        get { return field; }
        set { field = value; } // Error : Nothing to override.
    } 

    private int field;
}

Pero luego recibo un error de sintaxis ya que trato de anular el configurador no existente. Probé de alguna otra manera, como declarar privado al establecedor de bases y demás, y todavía tropiezo con todo tipo de errores que me impiden hacerlo. Debe haber una manera de hacerlo ya que no rompe ningún contrato de clase base.

De forma imprevista, se puede hacer con interfaces, pero realmente necesito esa implementación predeterminada.

Me topé con esa situación tan a menudo, me preguntaba si habría un truco de sintaxis de C # oculto para hacerlo, de lo contrario, viviré con eso e implementaré un método manual SetProperty ().

Respuestas a la pregunta(4)

Su respuesta a la pregunta