예제 #1
0
        public AspectMethodWeaver(IAspectDefinitionCollection aspectDefinitions, IWeavingSettings weavingSettings)
            : base(weavingSettings)
        {
            var aspectExpression = new AspectExpressionTreeBuilder(aspectDefinitions, weavingSettings).Build();

            MethodEndWeaver       = new MethodEndWeaver();
            MethodScopeWeaver     = aspectExpression.Reduce(AspectWeavingSettingsImpl.Empty);
            MethodDefintionWeaver = new MethodSignatureWeaver(weavingSettings.TypeDefinition);
        }
예제 #2
0
        protected AbstractAspectMethodWeaver(MethodInfo method, IAspectDefinitionCollection aspectDefinitions, IAspectWeavingSettings aspectWeavingSettings)
        {
            IAspectExpression aspectExpression = null;
            var aspectExpressionBuilder = new AspectExpressionTreeBuilder(aspectDefinitions);

            this.method = method;
            methodEndWeaver = new MethodEndWeaver();
            aspectExpression = aspectExpressionBuilder.Build();
            methodScopeWeaver = aspectExpression.Reduce(aspectWeavingSettings);
        }
예제 #3
0
        protected AbstractAspectMethodWeaver(MethodInfo method, IAspectDefinitionCollection aspectDefinitions, IAspectWeavingSettings aspectWeavingSettings)
        {
            IAspectExpression aspectExpression = null;
            var aspectExpressionBuilder        = new AspectExpressionTreeBuilder(aspectDefinitions);

            this.method       = method;
            methodEndWeaver   = new MethodEndWeaver();
            aspectExpression  = aspectExpressionBuilder.Build();
            methodScopeWeaver = aspectExpression.Reduce(aspectWeavingSettings);
        }