J'essaie de me rafraîchir la mémoire, mais je ne trouve pas de réponses avec Google.
public class BaseClass
{
public virtual void DoSomething()
{
Trace.Write("base class");
}
}
public class DerivedClass : BaseClass
{
public override void DoSomething()
{
Trace.Write("derived class");
}
}
Si je crée une instance de classe dérivée, comment la convertir en classe de base de sorte que lorsque DoSomething() est appelé, il utilise uniquement la méthode de la classe de base ?
Une distribution dynamique appelle toujours la méthode substituée de la classe dérivée :
DerivedClass dc = new DerivedClass();
dc.DoSomething();
(dc as BaseClass).DoSomething();
Sortie : "classe dérivée"