當你在開發或維護大型程式系統時,其系統中的各項Method錯綜複雜(就是程式很亂),又有馬上需要 Trouble shooting
壓力,這時候就很需要知道,程式是執行到哪一個Method,方便進行Trace。通常我會把這功用下列兩個地方:
- 系統發生
Exception
地方,需記錄知道哪一個Method發生問題 - 系統Kernel的地方,以方便了解資料進出是發生在哪一個Method
- 首先參照下面的Namespace1using System.Reflection
System.Reflection
命名空間包含的型別可透過檢查 Managed 程式碼中組件、模組、成員、參數和其他實體Entity
的中繼資料Metadata
,擷取這些項目的相關資訊
- 用
MethodInfo
類別或是MethodBase
類別的GetCurrentMethod
方法來取得Method名稱12345public static void Method2(){Console.Write(string.Format("Method Name:{0}",MethodBase.GetCurrentMethod().Name));Console.Write(string.Format("Method Name:{0}",MethodInfo.GetCurrentMethod().Name));}
當程式發生問題時候,在Trace bug就可以比較容易找出問題的環節了。不然,就會摸不著頭緒找Bug