相关疑难解决方法(0)

如何确定调用方法和类名?

我目前正在使用内置的TraceListener开发应用程序日志库.这个库将在许多项目中使用,并且应该提供一个简单的界面,我只需要关心将什么内容写入日志文件,而不是如何.

通过使用反射命名空间,我可以找出当前称为日志函数的应用程序(检索执行程序集名称),但我还想要调用日志记录函数的函数和类的名称.

比方说我有:

public static void LogInfo(string vLogText) {
   Trace.WriteLine(
        MethodInfo.GetCurrentMethod().Name
        + this.GetType().ToString() + vLogText);
   }
Run Code Online (Sandbox Code Playgroud)

当我从另一个项目调用时(类:TestClass,方法:TestMethod)

Tracer.LogInfo("log this!")
Run Code Online (Sandbox Code Playgroud)

我希望在日志中看到:

TestClass, TestMethod, log this!
Run Code Online (Sandbox Code Playgroud)

但相反,我得到了

TracerClass, LogInfo, log this!
Run Code Online (Sandbox Code Playgroud)

如何获取父方法和类名?

.net c# reflection logging .net-assembly

38
推荐指数
1
解决办法
6万
查看次数

标签 统计

.net ×1

.net-assembly ×1

c# ×1

logging ×1

reflection ×1