我有一個已經開發並正在使用的現有應用程序。如何在執行一些其他有重載的方法之前/之後每次執行一個方法?
一個類的一個方法(稱爲Read())有多個重載。現在我想介紹一下我的方法,該方法應該在調用Read()方法的任何重載之前或之後執行。根據用戶輸入,將在運行時決定Read()方法的哪個重載。
在這種情況下我需要做什麼?在執行Read()方法的任何現有重載之前或之後,我的方法將如何執行?
我有一個已經開發並正在使用的現有應用程序。如何在執行一些其他有重載的方法之前/之後每次執行一個方法?
一個類的一個方法(稱爲Read())有多個重載。現在我想介紹一下我的方法,該方法應該在調用Read()方法的任何重載之前或之後執行。根據用戶輸入,將在運行時決定Read()方法的哪個重載。
在這種情況下我需要做什麼?在執行Read()方法的任何現有重載之前或之後,我的方法將如何執行?
您需要使用Interceptor/AoP。首先想到的是PostSharp和Microsoft Unity。
有在這個月MSDN雜誌上這樣的事情一個很好的文章: http://msdn.microsoft.com/en-us/magazine/gg490353.aspx
有
public void Read<T>(T t) where t:ISomeCommonInterface
{
Before();
Read(t);
After();
}
您可以修改這些`Read`方法的源代碼一個通用的方法是什麼? – 2010-12-08 10:25:10