我们记录我们的进程以进行调试,并使用反射来获取日志记录的方法名称。目前,我使用System.Reflection.MethodInfo参数调用logging方法,并在logging方法中解析该参数以使用Method.DeclaringType.Name来获取方法所在类的名称(以及Method.Name ,目前不是问题)。我从中获得的是祖先名称,我想要后代(即使使用的方法没有被覆盖并且直接从祖先运行)。这可能吗?我仔细研究了反射信息,但没有在任何地方找到后代名称。
我不关心Reflection的性能问题,如果有必要,我愿意在记录器方法中添加额外的参数来获取我需要的信息。
谢谢!
答案 0 :(得分:4)
不,你不会从MethodInfo
获得。您应该传入this
,此时日志记录代码可以调用GetType()
来查找对象的实际类型。