检查方法是否由 Castle DynamicProxy 自动实现的最简单方法
我正在寻找最简单的方法来检查我的代理上的方法是否已由 DynamicProxy 自动实现。也就是说,假设在注册我的组件时,我添加了一些AdditionalInterfaces,并且在我的拦截器中,我只想拦截该方法(如果该接口是在代理上自动实现的),并且如果我调用 .Proceed() 将简单地抛出 NotImplementedException 。我可以想出一些粗略的方法来使用 ComponentModel 来检查这一点,但我希望可能有一些简单/直接的方法。
谢谢!
I'm looking for the easiest way to check if a method on my proxy has been auto-implemented by DynamicProxy. That is, let's say when registering my component, I added some AdditionalInterfaces, and in my interceptor, I only want to intercept the method if that interface was auto-implemented on the proxy and will simply throw a NotImplementedException if I call .Proceed(). I can think of some crude ways to check this using the ComponentModel, but I was hoping there might be something easy/straightforward.
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用
IProxyGenerationHook
仅代理您想要拦截的方法。Use
IProxyGenerationHook
to only proxy the methods you want to intercept.