Я считаю, что этот вопрос довольно простой, но мне трудно найти ответ на этот вопрос. В C#, скажем, у меня есть 3 класса: A, B, C
C# Upcasting/Polymorphism Issue
B вытекает из
C происходит от B
Теперь, если я хочу, список или массив объектов класса типа А, но хотел массив быть в состоянии дом объектов типа B и C это не проблема ... Я мог бы сделать что-то вроде этого:
A[] myArrayofAtypes;
Однако давайте говорить, что я сделать первый элемент массива типа C. Если тип C имеет переменная, определенная в определении класса, ТОЛЬКО ex ists в определении класса класса ... как мне получить доступ к этой переменной из массива? Я не могу просто сделать A[0].MyVariableGetter
, так как эта переменная не существует в базовом классе, A.
Любые предложения?
создание массива A [] и проведение там все не polymophism –
Мой вопрос был факторы, относящиеся к полиморфизму, так что я понял, отметив, что как категория вопроса уместно. Кроме того, я никогда не говорил о создании массива A [] и держал все, что было полимофисом. –
ваш вопрос о кастинге и наследовании .. как только вы проверяете тип объекта, вы не являетесь полиморфным –