C # получить тип вызывающего класса (не в Static) - PullRequest
0 голосов
/ 25 сентября 2011

Как получить тип класса вызывающего абонента в базе?

это родитель, здесь я хочу напечатать дочерний тип, не отправляя его

public abstract class Parent: ISomeInterface    {

        public void printChildType()
        {
             Type typeOfMyChild = ?????;
             MessageBox.Show(typeOfMyChild); //how do I get Child typeOfMyChild
        }
}

ребенок

public class Child : parent {

}

pirnt дочерний тип:

Child child = new Child();
child.printChildType();

Спасибо

(я уже видел это: Получить унаследованное имя типа вызывающего в базовом статическом классе , но я не использую статические методы)

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

Разве вы не просто ищете текущий тип?

    public void printChildType()
    {
         Type typeOfMyChild = GetType();
         MessageBox.Show(typeOfMyChild); 
    }
2 голосов
/ 25 сентября 2011
Type typeOfMyChild = this.GetType();

Благодаря полиморфизму при вызове:

Child child = new Child();
child.printChildType();

он должен вывести Child.

...