Если экземпляр, с которым вы работаете, был инициализирован как SuperClass
, вы не можете волшебным образом преобразовать его в экземпляр SubClass
- который выбросил бы всю систему типов из окна.
Однако вы можете добавить способ преобразования SuperClass
в SubClass
, но вам придется написать код для этого.
Один из способов - добавить конструктор к SubClass
, который принимаетэкземпляр SuperClass
и любую дополнительную информацию, которая нужна SubClass
(если ему не нужна дополнительная информация, возможно, вам лучше использовать методы расширения вместо наследования).
Другим способом было бы написать явное оператор преобразования.