可能重复:
Use reflection to invoke an overridden base method如何通过反射调用基类的方法?
通常情况下,我可以叫我的基类,覆盖方法中是这样的:
public override void Foo(Bar b)
{
base.Foo(b);
}
我怎样才能让这个相同的调用反射?
编辑:解释一下,我试图用AOP来防止我的库的入口点从未初始化的操作(在我的情况下,在库的使用之前没有“初始化”调用)。所以相关的调用将在技术上结束(通过AOP),但预编译的代码将写入一个单独的类中。换句话说,我希望下面的建议适用于所有的我的切入点:
if (!initialized)
return base.<method>(<arguments>);
我想在Use reflection to invoke an overridden base method所示的IL把戏,对我的工作 - 我只是希望有什么东西在我的情况更清洁,因为它感觉更合理。
@HatSoft:看到了,但我认为它有点不同。他试图从课堂外调用基类的重写方法。 – ladenedge 2012-07-23 20:08:40
所以你想反射性地从派生实例的内部代码中调用父方法?你为什么认为你需要这样做? – KeithS 2012-07-23 20:11:34
你真的真的不想让AOP注入反射调用到所有的方法中......除非你正在与其他人竞争,以查看谁可以创建最慢的程序 – 2012-07-23 20:28:17