У меня есть основной вопрос относительно литья типов.Есть ли листинг типа C# здесь?
class A { }
class B : A { }
B b = new B();
A a = (A)b;
В приведенном выше коде будет ли листинг типа литьем?
interface IA
{
void process();
}
class B : IA
{
#region IA Members
void IA.process()
{
throw new NotImplementedException();
}
#endregion
public void process() { }
}
B b = new B();
b.process();
((IA)b).process();
В приведенном выше коде будет ли листинг типа литьем?
Thanx Aditya, не могли бы вы рассказать об этом, будет ли компилятор генерировать соответствующий код типа Casting IL? – LokiDil
Для понижающего преобразования в новой переменной сохраняется только ссылка. Но для генерации команды классной генерации. Кроме того, во втором случае генерируемая команда предназначена для прямого вызова IA.process вместо любых команд литья. – Aditya
Thanx Aditya, который помогает мне понять – LokiDil