Если я создаю экземпляр такого объекта:
Person hello = new Person();
Мне разрешено делать что-то вроде
Employee test = (Employee)hello;
Что это делает? Что все это удручало? Так что, когда мы выделяем память для базы, и что происходит?
Это не будет работать. Он выдаст InvalidCastException во время выполнения. (при условии Employee : Person).
InvalidCastException
Employee : Person
Вы должны быть знакомы с этим Преобразование типов и типов
Если мы предположим, что класс Employee расширяется Person и не существует неявной реализации, то во время выполнения он выдаст InvalidCastException.
Employee
Person
Если вы не указали неявное или явное преобразование оператора из Person в Employee, которое выдаст InvalidCastException.