我在寻找的是调用另一个方法但调用其他方法之前调用方法的方法。例如:SomeFunction()之后调用在.NET中有一种方法可以在调用另一个方法之后但在输入之前自动调用方法
public class Test {
public void Tracer (...)
{
}
public int SomeFunction(string str)
{
return 0;
}
public void TestFun()
{
SomeFunction("");
}
}
在上述我想有示踪(例子中)已经由TestFun调用(),但被输入SomeFunction()之前。我也想获得SomeFunction()的反射数据。
我在每个人的答案中发现了一些有趣的东西。 问题的最佳答案是使用Castle的DynamicProxy;然而,这不是我要用来解决我的问题,因为它需要添加一个库到我的项目。我只需要“跟踪”几种方法,因此我选择了采用修改后的“核心”方法与动态代理实现方式混合使用。我在下面回答我自己的问题时解释了这一点。
就像一个笔记一样,我将研究一些其他应用程序的AOP和ContextBoundObject类。
如果您发现ContextBoundObject有所帮助的请投我的答案出来-1 :)这是一个很好的解决方案,如果你只想使用核心.NET库。 – 2009-04-21 18:38:14