日期:2014-05-17  浏览次数:20928 次

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 + "\n";
???????????
//取得当前方法类全名
??????????? str += "类名:" + System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.FullName + "\n";
???????????
//取得当前方法名
??????????? str += "方法名:" + System.Reflection.MethodBase.GetCurrentMethod().Name + "\n";
??????????? str
+= "\n";

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