.net 为什么ProxyGenerator.CreateClassProxyTypeWithTarget通过InheritanceInvocationTypeGenerator生成的IInvocation实例上没有IChangeProxyTarget?
是否设计为防止更改具体类型的代理目标?若然,原因为何 背景: 我想代理一个具体的类。此外,我想在工作流中的某个点替换代理的目标。但是,我尝试使用.net 为什么ProxyGenerator.CreateClassProxyTypeWithTarget通过InheritanceInvocationTypeGenerator生成的IInvocation实例上没有IChangeProxyTarget?,.net,castle,castle-dynamicproxy,.net,Castle,Castle Dynamicproxy,是否设计为防止更改具体类型的代理目标?若然,原因为何 背景: 我想代理一个具体的类。此外,我想在工作流中的某个点替换代理的目标。但是,我尝试使用IChangeProxyTarget来更改代理目标,这似乎不可能,因为为类上生成的IInvocation实例创建的InheritanceInvocationTypeGenerator总是将false传递给InvocationTypeGenerator基本构造函数上的canChangeTarget参数 我相信我可以在驱动IProxyBuilder中替换足够
IChangeProxyTarget
来更改代理目标,这似乎不可能,因为为类上生成的IInvocation
实例创建的InheritanceInvocationTypeGenerator
总是将false
传递给InvocationTypeGenerator
基本构造函数上的canChangeTarget
参数
我相信我可以在驱动
IProxyBuilder
中替换足够多的生成器查找机制,以使该值为true
(实际上,在调试器中强制该值为true
会生成一个IInvocation
类型,该类型实现IChangeProxyTarget
),但是,我想知道为什么这不容易获得 简单的回答是,它不在那里,因为它还没有实现。从我的头脑中,我看不出有任何理由不这样做。简单的回答是,它不在那里,因为它没有得到实施。从我的头脑中我看不出有任何理由不这样做