В Java,C# приведение к базовому типу всегда разрешено
«Up-литья литье в надтип, а понижающее приведение является приведением к подтипу. Supercasting всегда разрешен, но subcasting включает в себя проверку на типа и может вызывать исключение ClassCastException ».
(What is the difference between up-casting and down-casting with respect to class variable)
Есть также приведение к базовому типу всегда допускается в C#?
Да, абсолютно. –