Jak znaleźć pełną nazwę wywołującej metody C #

Jak mogę znaleźć pełną nazwę metody wywołującej w c #. Widziałem rozwiązania:

Jak mogę uzyskać metody wywołujące w C #

Jak mogę znaleźć metodę, która wywołała bieżącą metodę?

Uzyskaj nazwę funkcji wywołania z wywołanej funkcji

Ale dają mi tylko najwyższy poziom. Rozważmy przykład:

namespace Sandbox
{
    class Program
    {
        static void Main(string[] args)
        {
            test();
        }

        static void test()
        {
            var stackTrace = new StackTrace();
            var methodBase = stackTrace.GetFrame(1).GetMethod();
            Console.WriteLine(methodBase.Name);
        }
    }
}

Po prostu wyświetla „Main” Jak mogę go wydrukować „Sandbox.Program.Main”?

Zanim ktokolwiek zacznie pytać, dlaczego muszę to wykorzystać, jest to prosta struktura logowania, nad którą pracuję.

EDYTOWAĆ

Dodanie do odpowiedzi Matziego:

Oto rozwiązanie:

namespace Sandbox
{
    class Program
    {
        static void Main(string[] args)
        {
            test();
        }

        static void test()
        {
            var stackTrace = new StackTrace();
            var methodBase = stackTrace.GetFrame(1).GetMethod();
            var Class = methodBase.ReflectedType;
            var Namespace = Class.Namespace;         //Added finding the namespace
            Console.WriteLine(Namespace + "." + Class.Name + "." + methodBase.Name);
        }
    }
}

Produkuje „Sandbox.Program.Main” tak jak powinien

questionAnswers(5)

yourAnswerToTheQuestion