重複の可能性:
C#で呼び出し元のメソッドを取得する方法
Log
次のように、ログに記録されたメッセージの前にクライアントのクラスとメソッドを追加することになっているクラスがあります。
[ClientClass.ClientMethod] This is the logged message.
そして、クライアントからパラメーターとして渡すことなく、クラスからLog
これらの値を取得するための安全な方法を探しています。私はこれまでこれを試しました:
var stackFrame = new StackFrame(StackFramesToSkip);
var method = stackFrame.GetMethod();
return string.Format("[{0}.{1}] {2}", method.DeclaringType.Name, method.Name, message);
ただし、このメソッドは常に呼び出し元のメソッドを生成するとは限りません。特に複数のスレッドで作業する場合。
これを行う安全な方法はありますか?私はアイデアがありません。
ありがとう!