Возможный дубликат:
Приведение типов C# во время компиляции и выполнения
Насколько я понимаю, следующий код будет всегда компилироваться и, кроме того, всегда давать сбой при запуске: время, вызвав InvalidCastException.
Пример:
Код: Выделить всё
public class Post { }
public class Question : Post { }
public class Answer : Post
{
public void Fail()
{
Post p = new Post();
Question q = (Question)p; // This will throw an InvalidCastException
}
}
[*]Если мои предположения неверны, то может ли кто-нибудь привести пример, показывающий, как они работают?
[*]Если мои предположения верны, то почему компилятор не предупреждает об этой ошибке?
< /ол>
Подробнее здесь: https://stackoverflow.com/questions/816 ... texception
Мобильная версия