Получение имени класса-наследника - 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();
}
}