/// <summary> /// Called during the chain of responsibility for a build operation. The /// PostBuildUp method is called when the chain has finished the PreBuildUp /// phase and executes in reverse order from the PreBuildUp calls. /// </summary> /// <remarks>In this class, PostBuildUp checks to see if the object was proxyable, /// and if it was, wires up the handlers.</remarks> /// <param name="context">Context of the build operation.</param> public override void PostBuildUp(IBuilderContext context) { IInterceptingProxy proxy = (context ?? throw new ArgumentNullException(nameof(context))).Existing as IInterceptingProxy; if (proxy == null) { return; } EffectiveInterceptionBehaviorsPolicy effectiveInterceptionBehaviorsPolicy = context.Policies.Get <EffectiveInterceptionBehaviorsPolicy>(context.BuildKey, true); if (effectiveInterceptionBehaviorsPolicy == null) { return; } foreach (var interceptionBehavior in effectiveInterceptionBehaviorsPolicy.Behaviors) { proxy.AddInterceptionBehavior(interceptionBehavior); } }
/// <summary> /// Called during the chain of responsibility for a build operation. The /// PostBuildUp method is called when the chain has finished the PreBuildUp /// phase and executes in reverse order from the PreBuildUp calls. /// </summary> /// <remarks>In this class, PostBuildUp checks to see if the object was proxyable, /// and if it was, wires up the handlers.</remarks> /// <param name="context">Context of the build operation.</param> public override void PostBuildUp(IBuilderContext context) { Guard.ArgumentNotNull(context, "context"); IInterceptingProxy proxy = context.Existing as IInterceptingProxy; if (proxy == null) { return; } EffectiveInterceptionBehaviorsPolicy effectiveInterceptionBehaviorsPolicy = context.Policies.Get <EffectiveInterceptionBehaviorsPolicy>(context.BuildKey, true); if (effectiveInterceptionBehaviorsPolicy == null) { return; } foreach (var interceptionBehavior in effectiveInterceptionBehaviorsPolicy.Behaviors) { proxy.AddInterceptionBehavior(interceptionBehavior); } }