Получение имени класса-наследника - C#

Узнай цену своей работы

Формулировка задачи:

Есть базовый класс, в нём виртуальный метод принимающий некий параметр, у класса много наследников, ни об одном из них нет никаких данных, знаю лишь что они все перекрывают виртуальный метод, и вызывают его
base.имя_метода(параметр)
, вот в этом виртуально методе мне нужно узнать имя класса который его вызвал.

Решение задачи: «Получение имени класса-наследника»

textual
Листинг программы
class A
    {
        public virtual void MyMethod() {
            Console.WriteLine(this.GetType().Name);
        }
    }
 
    class B : A
    {
        public override void MyMethod() {
            base.MyMethod();
        }
    }
 
    class C : A
    {
        public override void MyMethod() {
            base.MyMethod();
        }
    }
 
    class Program
    {
        public static void Main() {
            A first = new B();
            A second = new C();
            first.MyMethod();
            second.MyMethod();
 
            Console.ReadKey();
        }
    }

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

7   голосов , оценка 3.714 из 5
Похожие ответы