可能重复:
如何在 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);
但是,此方法并不总是产生调用方法。尤其是在使用多个线程时。
有没有一种安全的方法来做到这一点?我没主意了。
谢谢!