C# 获取方法所在的 命名空间 类名 方法名

复制代码
复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.Reflection;

namespace GetMethodNameSpace
{
    class Program
    {
        public static string GetMethodInfo()
        {
            string str = "";
            //取得当前方法命名空间
            str += "命名空间名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + "
";
            //取得当前方法类全名
            str += "类名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + "
";
            //取得当前方法名
            str += "方法名:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "
";
            str += "
";

            StackTrace ss = new StackTrace(true);
            MethodBase mb = ss.GetFrame(1).GetMethod();
            //取得父方法命名空间
            str += mb.DeclaringType.Namespace + "
";
            //取得父方法类名
            str += mb.DeclaringType.Name + "
";
            //取得父方法类全名
            str += mb.DeclaringType.FullName + "
";
            //取得父方法名
            str += mb.Name + "
";
            return str;
        }

        public static void Main()
        {
            Console.WriteLine(GetMethodInfo());

            Console.ReadKey();
        }
    }
}
原文地址:https://www.cnblogs.com/MuNet/p/6638734.html