Hi, I'm currently using IProxyGenerationHook to control which methods to exclude for proxy generation for a given interface. My current hierarchy of classes and interfaces is the following:
Class_A implements interfaces Interface_A and Interface_Z Class_B inherits Class_A and also implements interfaces Interface_B Interface_B inherits Interface_Z. I created a proxy to interface Interface_B with a target instance of Class_B, and gave it Interface_Z as additional interface to include in the proxy generation process. I use custom attributes on methods/properties to mark for exclusion. i.e. [NonProxied]. Scenario 1: If I mark a method belonging to Interface_B, the hook will exclude it and any calls through the proxy to that marked method will reach the target object's method without interception. (Behaviour I expected). Scenario 2: If I mark a method belonging to Interface_Z and cast my proxy instance to (Interface_Z) to make a call to the marked method, the call will not reach its target object. From a debugger point of view, attempting to step-in won't do anything. The execution proceeds to the next line without interception nor forwarding to the real implementation. I get this behaviour even without attaching the debugger. (Expected the call to reach the target instance's method implementation without interceptors). To summarize, using proxy generation hook to exclude seems to work only for first level interface methods and properties but not for inherited interfaces with marked methods or properties. Perhaps this is not supported or I'm just missing something? Has anyone else experienced a similar scenario? Thanks in advance! -- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.
