我有两个简单的类:动态方法调用
public class A
{
public void DoSomething();
}
public class Listener
{
public void OnDoSomethingCalled();
}
我想Listener.OnDoSomethingCalled()来自动每次叫A.DoSomething()被调用。我想在不更改类A的情况下执行此操作。我不想在A中添加委托并将侦听器附加到该委派。想象一下我没有A类源代码的场景。
我不能在这里使用装饰模式,因为我无法修改调用A.DoSomething()的代码。我阅读了有关Reflection.Emit或DynamicMethod的一些信息,以便在运行时动态更改或定义方法。它可以应用在这里以及如何?
我假设你不能修改'A类'? – 2011-02-28 17:37:06