Wenn Sie sicher sind, dass Car
ist eigentlich ein Driver
, dann können Sie es zu einem driver
werfen die Mitglieder Driver
zuzugreifen. Also entweder
((Driver)c).DriverMember();
Dies wird eine Ausnahme auslösen, wenn c
ist keine Driver
Oder
Driver d = c as Driver;
if(d != null){
d.DriverMethod();
}
Der Grund dafür ist, dass seit c
vom Typ Car
, dann nur Car-Mitglieder zur Verfügung stehen.
Zum Beispiel haben Sie List<Car>
, wo Sie einige Car
Objekte und einige Driver
Objekte hinzufügen. Dann gibt es einen perfekten Sinn, dass nur Car
Mitglieder zu verwenden sind.
Auch ich davon aus, dass Driver
von Car
in diesem Fall erbt (das ist eigentlich eine ziemlich seltsame Erbschaft, da ein Fahrer nicht ein Auto).
Versuchen Sie, mehr von Ihrem Code zu veröffentlichen - es ist schwer, ohne mehr Kontext zu helfen. –
Wie würden Sie ein Objekt erstellen können, wenn 'Driver' irgendwie von' Car' erbt (was keinen Sinn ergibt)? – BoltClock
Markiere das bitte als Hausaufgabe. – VVS