Почему компилятор C# не улавливает исключение InvalidCastException [дубликат]C#

Место общения программистов C#
Anonymous
Почему компилятор C# не улавливает исключение InvalidCastException [дубликат]

Сообщение Anonymous »


Возможный дубликат:

Приведение типов 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

Вернуться в «C#»