Это я знаю. Уже голова раскалывается от ООП. Весь день читал про про отношения базовых и производных классов. Вот почитайте что пишут грамотеи:
Присваивание обьекта базового класса (или ссылки базового класса) ссылке производного класса (без приведения типов) является синтаксической ошибкой.
Если обьект производного был присвоен ссылке одного из его прямых или косвенных базовых классов, можно выполнять обратное преобразование этой ссылки базового класса в ссылку типа производного класса. В действительности это должно выполняться для пересылки сообщений этого обьекта, которые не появляются в базовом классе. (Замечание: мы иногда используем термин "сообщения" для предоставления вызова методов и свойств для обьекта)
Попытка приведения ссылки базового класса к типу производного класса приводит к генерации InvalidCastException, если ссылка ссылается на обьект базового класса, а не на обьект производного класса.
Кто нибудь понял что авторы хотели этим сказать и как этим воспользоваться? Вроде пишут по русски но я их не понимаю.
Тихо шифером шурша крыша едет неспеша