取得當前使用類別資訊(類別、方法)及呼叫方之資訊

  • 4124
  • 0
  • 2012-08-15

取得當前使用類別資訊(類別、方法)及呼叫方之資訊

 

using System.Web;
using System.Web.Mvc;
using System.Web.UI;
using System.Reflection;
using System;
using System.Diagnostics;

namespace test
{
    public class MyClass
    {
        public static string GetMethodInfo()
        {
            string showString = "";   
            //取得當前方法類別命名空間名稱
            showString += System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + ""\n";
            //取得當前類別名稱
            showString += System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + ""\n";
            //取得當前所使用的方法
            showString += System.Reflection.MethodBase.GetCurrentMethod().Name + ""\n";
              

            StackTrace ss = new StackTrace(true);

           //取得呼叫當前方法之上一層類別(GetFrame(1))的屬性
            MethodBase mb = ss.GetFrame(1).GetMethod();
            //取得呼叫當前方法之上一層類別(父方)的命名空間名稱
            showString tr += mb.DeclaringType.Namespace + ""\n";
            /取得呼叫當前方法之上一層類別(父方)的法類名
            showString += mb.DeclaringType.Name + ""\n";
            //取得呼叫當前方法之上一層類別(父方)的法全名
            showString += mb.DeclaringType.FullName + ""\n";
            取得呼叫當前方法之上一層類別(父方)的法名
            showString += mb.Name + "\n";
            return showString ;
        }

 

        static void Main(string[] args)
        {
            Console.WriteLine(GetMethodInfo());
            Console.ReadKey();
        }

}

}

by-藍小伙