Diciamo che ho due classi Base e Derived : Base .
Derived deve essere in grado di utilizzare un DerivedComponent : BaseComponent ,
proprio come tutti gli altri derivati di Base usano il proprio componente specifico derivato.
Tutti questi componenti di BaseComponent , come DerivedComponent , hanno alcune funzionalità comuni accessibili
in Base .
Poiché non desidero ridurre questo BaseComponent ogni volta che utilizzo la funzionalità DerivedComponent in Derived , ho anche aggiunto il suo riferimento come DerivedComponent a Derived .
class Base
{
private BaseComponent component;
protected Component
{
get { return component; }
}
Base(BaseComponent component)
}
class Derived : Base
{
private DerivedComponent component;
Derived() : base(new DerivedComponent())
{
this.component = (DerivedComponent) base.Component;
}
}
class BaseComponent {}
class DerivedComponent : BaseComponent {}
È necessario farlo in questo modo, con il downcast?
Non posso in qualche modo riutilizzare l'argomento da base() e assegnarlo direttamente al mio componente Derived ?