Ich bin verwirrt durch unterschiedliche Interaktionen zwischen Inheritationen und Abstraktionen. Lets sagen, dass ich eine bestimmte Klasse haben BaseClass
genannt, jetzt auf dieser Basisklasse Ich habe mehrere inherrited abgeleiteten Klassen, InherritedBaseClassA
etc ..Überschreibe eine [abstrakte Basisklasseneigenschaft] in einer [abstrakten Klasse] mit einer [abgeleiteten-von-Basisklasseneigenschaft] in einer inherrierten Klasse
class BaseClass
{
int SomeGenericProperties {get; set;}
}
class InherritedBaseClassA : BaseClass
{
int PropertyOnlyInA {get; set;}
}
class InherritedBaseClassB : BaseClass
{
int PropertyOnlyInB {get; set;}
}
Nun möchte Ich mag diese BaseClass
als Eigenschaft in eine abstract
Klasse hinzuzufügen:
abstract class AbstractBase
{
public abstract Baseclass MyProperty {get;set;}
}
und schließlich möchte ich in meiner Umsetzung dieser abstract
Klasse, diese BaseClass
mit Derived
Klassen außer Kraft zu setzen.
class Implementation_A_OfAbstractBase : AbstractBase
{
// how do i write this line?
public override InherritedBaseClassA MyProperty;
}
Ich möchte, dies zu tun, weil an anderer Stelle in meinem Code ich eine generische Liste von AbstractBase
haben und manchmal möchte ich AbstractBase.MyProperty.SomeGenericProperties
acces, die unabhängig existieren, welche Art von inherrited Basisklasse Implementierung im seit ihrer Verwendung MyProperty
von BaseClass
inherrited ist