3

我们记录我们的进程以进行调试,并使用反射来获取记录的方法名称。目前,我使用 System.Reflection.MethodInfo 参数调用 logging 方法,并在 logging 方法内部解析该参数以使用 Method.DeclaringType.Name 来获取该方法所在的类的名称(以及 Method.Name ,目前这不是问题)。我从中得到的是祖先名称,我想要后代(即使正在使用的方法没有被覆盖并且直接从祖先运行)。这可能吗?我浏览了反射信息,但在任何地方都没有找到后代名称。

我不关心Reflection的性能问题,如果有必要,我愿意在logger方法中添加额外的参数来获取我需要的信息。

谢谢!

4

1 回答 1

4

不,你不会从MethodInfo. 您应该传入this,此时日志记录代码可以调用GetType()以查找对象的实际类型。

于 2012-07-26T19:07:37.263 回答