C# get caller class type (Not in Static)
-
29-01-2021 - |
Question
How do I get the caller class type in the base?
this is the parent, here I want to print the child type without sending it
public abstract class Parent: ISomeInterface {
public void printChildType()
{
Type typeOfMyChild = ?????;
MessageBox.Show(typeOfMyChild); //how do I get Child typeOfMyChild
}
}
the child
public class Child : parent {
}
pirnt the child type :
Child child = new Child();
child.printChildType();
Thanks
(I already saw this one: Get inherited caller type name in base static class but I am using none static methods)
Solution
Type typeOfMyChild = this.GetType();
Thanks to polymorphism when you invoke:
Child child = new Child();
child.printChildType();
it should print Child
.
OTHER TIPS
Aren't you just looking for the current type ?
public void printChildType()
{
Type typeOfMyChild = GetType();
MessageBox.Show(typeOfMyChild);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow