对于给定的类,我希望具有跟踪功能,例如,我希望记录每个方法调用(方法签名和实际参数值)和每个方法出口(只记录方法签名)。
如果假设:
为了让问题更具体,让我们假设有三个类:
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);
}
如何在每次调用 方法1和 方法2时调用 记录器,记录开始和 日志记录器,日志终端,而不修改 有人打电话,有人打电话方法,也不显式地将调用添加到 追踪,方法1和 追踪,方法2?
编辑: 如果允许我稍微改变 Call 方法,解决方案是什么?