Приведение к типу интерфейса - 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(); //в каких случаях что?
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д