我有两个简单的类:
public class A
{
public void DoSomething();
}
public class Listener
{
public void OnDoSomethingCalled();
}
我希望每次调用A.DoSomething()时自动调用Listener.OnDoSomethingCalled()。我想在不更改类A的情况下执行此操作。我不想在A中添加委托并将侦听器附加到该委托。想象一下我没有A类源代码的场景。
我不能在这里使用装饰模式,因为我无法修改调用A.DoSomething()的代码。我读了一些关于Reflection.Emit或DynamicMethod的内容,以便在运行时动态更改或定义方法。可以在这里应用吗?