是否可以在没有基类或接口的情况下创建动态代理?
是否可以使用诸如 Castle Dynamic Proxy
之类的通用库创建动态代理,而无需任何基类或接口?我确实有兴趣在运行时拥有动态的动态类。
Is it possible to create a dynamic proxy using common libraries like Castle Dynamic Proxy
without having any base class or interface? I'm indeed interested to have dynamic on-the-fly classes in run-time.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然,使用 Reflection.Emit 烘焙你的接口,然后将生成的接口类型传递给 CreateInterfaceProxyWithoutTarget 并提供拦截器。
请记住,您无法卸载类型,只能卸载应用程序域,因此,如果您要创建数千种类型,您可能最终会陷入性能受损的世界。
Sure, use Reflection.Emit to bake your interface, then pass the generated interface type to
CreateInterfaceProxyWithoutTarget
and provide interceptors.Just keep in mind that you cannot unload a type, only an appdomain, so if you are going to create thousands of types you might end-up in a world of hurt performance-wise.