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.