我有兩個簡單的類:動態方法調用
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