我有一个已经开发并正在使用的现有应用程序。
一个类的一个方法(称为Read())有多个重载。现在我想在该类中引入我的方法,该方法应该在调用Read()方法的任何重载之前或之后执行。将根据用户输入在运行时决定调用Read()方法的哪个重载。
在这种情况下我需要做什么?如何在执行Read()方法的任何现有重载之前或之后执行我的方法?
答案 0 :(得分:4)
您需要使用拦截器/ AoP。想到的第一个选项是PostSharp和Microsoft Unity。
在这个月MSDN杂志上有一篇关于此类事情的非常好的文章: http://msdn.microsoft.com/en-us/magazine/gg490353.aspx
答案 1 :(得分:-1)
拥有通用方法
public void Read<T>(T t) where t:ISomeCommonInterface
{
Before();
Read(t);
After();
}