Получить тип времени выполнения стековых фреймов

Мне было интересно, можно ли было получить тип вызывающих методов во время выполнения стека в трассировке.

Рассмотрим следующий пример:

class Parent
{
    public void Foo()
    {
        var stack = new StackTrace();

        foreach (var frame in stack.GetFrames())
        {
            var methodInfo = frame.GetMethod();
            Console.WriteLine("{0} (ReflectedType: {1})", methodInfo.ToString(), methodInfo.DeclaringType);
        }
    }
}

class Child : Parent
{
}

Если я создаю экземпляр Child и вызываю Foo

var child = new Child();
child.Foo();

Foo напечатает: Void Foo () (ReflectedType: Parent)

Есть ли способ получить фактические типы времени выполнения (в данном случае Child) вызывающих методов в трассировке стека?

Ответы на вопрос(2)

Ваш ответ на вопрос