有些時候會希望得知,這些錯誤訊息是在什麼Method中被呼叫的
又或者希望得知,發生錯誤訊息所在的Method,又是被哪個Method所呼叫
System.Reflection.MethodBase類別,就是用來存放Method資訊的
其中MethodBase.Name就可以取得方法名稱
使用System.Reflection.MethodBase.GetCurrentMethod();
可以取得目前程式碼所在的Method
System.Diagnostics.StackTrace類別,顧名思義就是用來追蹤堆疊的
使用StackTrace.GetFrame(0).GetMethod();
可以取得目前程式碼所在的Method
使用StackTrace.GetFrame(1).GetMethod();
可以取得目前程式碼所在的Method的上一層Method
使用StackTrace.GetFrame(2).GetMethod();
可以取得目前程式碼所在的Method的上一層Method的上一層Method.... 以此類推
ps. 使用StackTrace前必須先建立物件
ex: System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
st.GetFrames(1).GetMethod();
沒有留言:
張貼留言