System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace(false);
if(st.FrameCount > 1){
Console.WriteLine(st.GetFrame(1).GetMethod().DeclaringType.Name);
}
不知道这样行不行,把上面的代码放到记日志的地方,GetFrame方法中的参数值等于从第一次调用写日志的方法开始到运行到上面这代码的时候经过了几个方法。
例如
class Log
{
public void RecordLog(string log)
{
// 上面这段代码
// 直接调用这个方法的时候就是1,st.FrameCount的值必须大于1
}