2014年2月4日 星期二

[C#] 取得執行中的method name

說明:想取得執行的method name,該怎麼做?


作法:
1. 使用System.Reflection.MethodBase.GetCurrentMethod().Name
2. 使用this.GetType().Name
兩者皆是利用reflection來取得執行中object的型別屬性,其中MSDN提到若執行中method是泛型method,GetCurrentMethod()會回傳泛型method的定義。


參考資料:
http://msdn.microsoft.com/en-us/library/system.reflection.methodbase(v=vs.90).aspx
http://msdn.microsoft.com/zh-tw/library/ms173183(v=vs.90).ASPX
http://stackoverflow.com/questions/2652460/c-sharp-how-to-get-the-name-of-the-current-method-from-code
http://stackoverflow.com/questions/2113069/c-sharp-getting-its-own-class-name
http://stackoverflow.com/questions/44153/can-you-use-reflection-to-find-the-name-of-the-currently-executing-method
http://blogs.msdn.com/b/webdevelopertips/archive/2009/06/23/tip-83-did-you-know-you-can-get-the-name-of-the-calling-method-from-the-stack-using-reflection.aspx
http://joelabrahamsson.com/getting-property-and-method-names-using-static-reflection-in-c/

沒有留言:

張貼留言