In C# quando definiamo per una classe base una property virtual possiamo nelle classi derivate eseguire l'override dei metodi d'accesso get e set.
E se non volessimo dare la possibilità alle classi derivate di eseguire l'override di entrambi i metodi? In questo caso è sufficiente dichiarare uno dei due metodi private come nell'esempio seguente:
public abstract class ClassA
{
public virtual bool PropertyC
{
get;
private set; // non virtual
}
}
public class ClassB : ClassA
{
public override bool PropertyC
{
get
{
return false;
}
}
}