我有一个已经开发并正在使用的现有应用程序。如何在执行一些其他有重载的方法之前/之后每次执行一个方法?
一个类的一个方法(称为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