为什么 ProxyGenerator.CreateClassProxyTypeWithTarget 通过 InheritanceInvocalTypeGenerator 生成的 IInitation 实例上没有 IChangeProxyTarget?
设计上是否是为了防止更改具体类型的代理目标?如果是这样,为什么?
背景:
我有一个想要代理的具体类。此外,我想在工作流程中的某个时刻替换代理的目标。我尝试使用 IChangeProxyTarget
来更改代理目标,但是,鉴于为 IIn Vocation<在类上生成的 /code> 实例始终将
false
传递给 InitationTypeGenerator
基本构造函数上的 canChangeTarget
参数。
我相信我可以在驱动 IProxyBuilder
中替换足够多的生成器查找机制,以使该值为 true
(实际上,强制该值为 true调试器中的
生成一个实现 IChangeProxyTarget
的 IInitation
类型),但是,我想知道为什么这不更容易访问。
Is it by design to prevent changing the proxy target for concrete types? If so, why?
Background:
I have a concrete class that I want to proxy. Further, I want to replace the target of the proxy at some point in the workflow. I've attempted to use IChangeProxyTarget
in order to change the proxy target, however, this doesn't seem possible given that the InheritanceInvocationTypeGenerator
which is created for IInvocation
instances generated on classes always passes false
to the canChangeTarget
parameter on the InvocationTypeGenerator
base constructor.
I believe I can replace enough of the generator lookup machinery in the driving IProxyBuilder
to get this value to be true
(and, indeed, forcing the value to be true
in the debugger generates an IInvocation
type which implements IChangeProxyTarget
), however, I'm wondering why this is not more easily accessible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简而言之,它不存在,因为它尚未实施。从我的头脑中,我看不出有什么理由不这样做。
The short answer is, it's not there because it hasn't been implemented. From the top of my head I don't see any reason not to do it.