Почему компилятор 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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