为什么 ProxyGenerator.CreateClassProxyTypeWithTarget 通过 InheritanceInvocalTypeGenerator 生成的 IInitation 实例上没有 IChangeProxyTarget?

发布于 2024-12-11 13:07:33 字数 527 浏览 0 评论 0原文

设计上是否是为了防止更改具体类型的代理目标?如果是这样,为什么?

背景:

我有一个想要代理的具体类。此外,我想在工作流程中的某个时刻替换代理的目标。我尝试使用 IChangeProxyTarget 来更改代理目标,但是,鉴于为 IIn Vocation<在类上生成的 /code> 实例始终将 false 传递给 InitationTypeGenerator 基本构造函数上的 canChangeTarget 参数。

我相信我可以在驱动 IProxyBuilder 中替换足够多的生成器查找机制,以使该值为 true (实际上,强制该值为 true调试器中的 生成一个实现 IChangeProxyTargetIInitation 类型),但是,我想知道为什么这不更容易访问。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

彻夜缠绵 2024-12-18 13:07:33

简而言之,它不存在,因为它尚未实施。从我的头脑中,我看不出有什么理由不这样做。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文