如何在基础中获取调用者类类型?
这是父母,这里我想打印子类型而不发送它
public abstract class Parent: ISomeInterface {
public void printChildType()
{
Type typeOfMyChild = ?????;
MessageBox.Show(typeOfMyChild); //how do I get Child typeOfMyChild
}
}
孩子
public class Child : parent {
}
pirnt the child type:
Child child = new Child();
child.printChildType();
由于
(我已经看过这个:Get inherited caller type name in base static class但我没有使用静态方法)
答案 0 :(得分:2)
Type typeOfMyChild = this.GetType();
感谢您调用时的多态性:
Child child = new Child();
child.printChildType();
它应该打印Child
。
答案 1 :(得分:2)
您是不是只想找当前的类型?
public void printChildType()
{
Type typeOfMyChild = GetType();
MessageBox.Show(typeOfMyChild);
}