private IAdviceExpression ResolveFinallyAdvice()
        {
            IAdviceDefinition selectedAdviceDefinition = null;
            Func <IAdviceDefinition, IAdviceExpression> adviceExpressionFactory = null;
            var finallyAdvice = adviceDiscoveryVistor.FinallyAdvice;

            adviceExpressionFactory  = adviceVisitor.Visit(adviceDiscoveryVistor.FinallyAdvice);
            selectedAdviceDefinition = advices.First(advice => advice.Advice.Equals(finallyAdvice));

            return(adviceExpressionFactory(selectedAdviceDefinition));
        }
        protected override IAdviceExpression ResolveInterceptionAdviceExpression()
        {
            IAdviceDefinition selectedAdviceDefinition = null;
            var onAddHandlerAdvice = adviceDiscoveryVistor.OnAddHandlerAdvice;
            Func <IAdviceDefinition, IAdviceExpression> adviceExpressionFactory = null;

            adviceExpressionFactory  = adviceVisitor.Visit(adviceDiscoveryVistor.OnAddHandlerAdvice);
            selectedAdviceDefinition = advices.First(advice => advice.Advice.Equals(onAddHandlerAdvice));

            return(adviceExpressionFactory(selectedAdviceDefinition));
        }
예제 #3
0
        private IAdviceExpression ResolveOnMethodInvokeAdvice()
        {
            IAdviceDefinition selectedAdviceDefinition = null;
            var onMethodInvokeAdvice = adviceDiscoveryVistor.OnMethodInvokeAdvice;
            Func <IAdviceDefinition, IAdviceExpression> adviceExpressionFactory = null;

            adviceExpressionFactory  = adviceVisitor.Visit(adviceDiscoveryVistor.OnMethodInvokeAdvice);
            selectedAdviceDefinition = advices.First(advice => advice.Advice.Equals(onMethodInvokeAdvice));

            return(adviceExpressionFactory(selectedAdviceDefinition));
        }
예제 #4
0
 internal FinallyAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
예제 #5
0
 internal OnRemoveEventHandlerAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
예제 #6
0
 internal AbstractAdviceExpression(IAdviceDefinition adviceDefinition)
 {
     this.adviceDefinition = adviceDefinition;
 }
예제 #7
0
 internal OnMethodInvokeAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
예제 #8
0
 internal AbstractAdviceExpression(IAdviceDefinition adviceDefinition)
 {
     this.adviceDefinition = adviceDefinition;
 }
 internal OnAddEventHandlerAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnMethodEntryAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnGetPropertyAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnMethodSuccessAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnGetPropertyAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
예제 #14
0
 internal OnMethodEntryAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnMethodSuccessAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnInvokeHandlerAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnInvokeHandlerAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
예제 #18
0
 internal FinallyAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }
 internal OnMethodInvokeAdviceExpression(IAdviceDefinition adviceDefinition)
     : base(adviceDefinition)
 {
 }