对于给定的类,我希望具有跟踪功能,即我希望记录每个方法调用(方法签名和实际参数值)和每个方法退出(只记录方法签名)。
假设存在以下情况,我该如何完成此操作:
我不想为C#,,
,
为了让问题更具体,让我们假设有3个类:
public class Caller
{
public static void Call()
{
Traced traced = new Traced();
traced.Method1();
traced.Method2();
}
}
public class Traced
{
public void Method1(String name, Int32 value) { }
public void Method2(Object object) { }
}
public class Logger
{
public static void LogStart(MethodInfo method, Object[] parameterValues);
public static void LogEnd(MethodInfo method);
}
如何为每个对Method1和Method2的调用调用Logger.LogStart和Logger.LogEnd,而不修改Caller.Call方法,也不显式地将调用添加到Traced.Method1和Traced.Method2
编辑:如果允许我稍微更改调用方法,那么解决方案是什么?
https://stackoverflow.com/questions/25803
复制相似问题