Вы можете получить доступ к ссылке через тип ее объявления. Поскольку вы объявляете массив равным Vehicle
, вы не можете напрямую обращаться к членам подкласса.
Для этого инициализируйте объект отдельно от коллекции, в которой он содержится:
var jet = new Airplane();
jet.Make = "Boeing";
jet.Engine = "Jet";
vehicles[0] = jet;
В качестве альтернативы, используйте инициализатор объекта:
vehicles[0] = new Airplane
{
Make = "Boeing",
Engine = "Jet"
};
Было бы совершенно бессмысленно возвращать его обратно сразу после его создания, но вы также можете сделать это:
vehicles[0] = new Airplane();
((Airplane)vehicles[0]).Make = "Boeing";
((Airplane)vehicles[0]).Engine = "Jet";