取得當前使用類別資訊(類別、方法)及呼叫方之資訊
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 ;
}
}
}
by-藍小伙