Приведение к типу интерфейса - C#
Формулировка задачи:
Ребят, помогите найти ответ на следующий вопрос: что выведет на экран следующий метод и почему?
interface IMe
{
void Meth();
}
class A:IMe
{
public void Meth()
{
Console.WriteLine("Meth в классе A");
}
}
class B : A, IMe
{
public void Meth()
{
Console.WriteLine("Meth в классе B");
}
}
class Program
{
static void Main(string[] args)
{
A obj = new B();
obj.Meth();
((IMe)obj).Meth(); //Что выведет этот код и почему?
}
}Решение задачи: «Приведение к типу интерфейса»
textual
Листинг программы
class A
{
public virtual void Meth()
{
Console.WriteLine("Meth в классе A");
}
}
class B : A
{
public new void Meth() //замени на оверрайд
{
Console.WriteLine("Meth в классе B");
}
}
//Тестить так же
A obj = new B();
obj.Meth(); //в каких случаях что?