Как работает литье вниз? C # - PullRequest
0 голосов
/ 11 января 2011

Если я создаю экземпляр такого объекта:

Person hello = new Person();

Мне разрешено делать что-то вроде

Employee test = (Employee)hello;

Что это делает? Что все это удручало? Так что, когда мы выделяем память для базы, и что происходит?

Ответы [ 3 ]

5 голосов
/ 11 января 2011

Это не будет работать. Он выдаст InvalidCastException во время выполнения. (при условии Employee : Person).

3 голосов
/ 11 января 2011

Вы должны быть знакомы с этим Преобразование типов и типов

Если мы предположим, что класс Employee расширяется Person и не существует неявной реализации, то во время выполнения он выдаст InvalidCastException.

2 голосов
/ 11 января 2011

Если вы не указали неявное или явное преобразование оператора из Person в Employee, которое выдаст InvalidCastException.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...