When an instance of Motorcycle
is seen as as Vehicle
, then it, quite naturally, cannot give you access to Motorcycle
‘s unique properties. That’s the point of inheritance.
To access them, you have to type-cast the instance:
Vehicle v = new Motorcycle();
((Motorcycle)v).MotorbikeEngineVolume = 250;
When you cannot be sure the instance truly is a Motorcycle
, use the is
operator:
Vehile v = …
…
if (v is Motorcycle)
{
((Motorcycle)v).MotorbikeEngineVolume = 250;
}
solved how to make an instance of a subclass of type base class C#