C# что именно выполняется во время выполнения, когда я выполняю явное приведение?
Я всегда думал, что явное приведение-это просто способ сказать компилятору, что я знаю, что делаю, когда это не так
Например:
static void Main() { object blabla = new Derived(); AcceptABase(blabla); /* This call to the method won't work because the compiler sees that I have an object variable that points to something that will be evaluated at runtime (in this case a reference to a derived object) so it can't guarantee that this code will execute (because System.Object is more general than Base) so I have to tell it that I know what I'm doing } static void AcceptABase(Base b) { }
но я читал в книге по C# и .NET, что явное приведение выполняется во время выполнения. Я действительно запутался. Что на самом деле происходит во время выполнения кастинга? Меняет ли он тип (и какой именно)?
Что я уже пробовал:
Ну, мой вопрос на самом деле не является реальной проблемой программирования, а просто вопросом о явном кастинге.