C# 在函數內 抓取函數名稱
C# 在函數內 抓取函數名稱
資料來源: GOOGLE AI 摘要
方法一:使用 nameof 關鍵字 (推薦)
public void MyMethod()
{
string methodName = nameof(MyMethod);
Console.WriteLine(methodName); // 輸出: MyMethod
}
方法二:使用 MethodBase.GetCurrentMethod() (執行期)
public void GetNameMethod()
{
var methodName = System.Reflection.MethodBase.GetCurrentMethod().Name;
Console.WriteLine(methodName); // 輸出: GetNameMethod
}
方法三:使用 [CallerMemberName] 屬性 (適用於日誌記錄)
using System.Runtime.CompilerServices;
public void LogMethod([CallerMemberName] string memberName = "")
{
Console.WriteLine(memberName); // 輸出: LogMethod
}
自己實作(選03):
public static void String2JsonClassErrorLog(string strMsg,[CallerMemberName] string memberName = "")
{
String StrMsg = $"{memberName}:{strMsg}";
LogFile.Write("SystemError ; " + StrMsg);
}