对于给定的类,我希望有跟踪功能,即我想记录每个方法调用(方法签名和实际参数值)和每个方法退出(只是方法签名).
我如何做到这一点假设:
为了使问题更具体,让我们假设有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);
}
Run Code Online (Sandbox Code Playgroud)
如何调用Logger.LogStart和Logger.LogEnd每次调用方法1和方法2,而无需修改Caller.Call方法,没有明确地加入调用Traced.Method1和Traced.Method2?
编辑:如果我允许稍微更改Call方法,会有什么解决方案?
我担心我一直在谷歌搜索,但找不到我理解或可以使用的答案.
在Javascript中,您可以运行一个函数并设置一个在第一个函数运行后调用的回调函数:
function doThis(callBack){
// do things
// do things
if(callBack){
callBack();
}
}
Run Code Online (Sandbox Code Playgroud)
请致电: doThis(function () { alert("done") });
因此,在完成操作之后,它会调用警报来告诉您已完成.
但是你如何在VB.NET中使用相同的服务器端?