Example #1
0
        public void InterceptAllReadProperties()
        {
            var aspect = Aspect.For <ComplexClass_Default_Constructure>();

            aspect
            .PointCut(CutPointFlags.PropertyRead)
            .Advice <LoggerInterceptor>();

            ServiceRegistry.Register <ComplexClass_Default_Constructure>();

            var cc = ServiceLocator.Get <ComplexClass_Default_Constructure>();

            Assert.IsNotNull(cc);


            WrapAndInvokeEverything(cc);
        }
Example #2
0
        public void Test()
        {
            var aspect = Aspect.For(typeof(BusinessListProxy <,>))
                         .PointCut()
                         .Method("*")
                         .Deep(2)
                         .Advice <LoggerInterceptor>();

            ServiceRegistry.Current.Register(typeof(IBusinessList <,>), typeof(BusinessListProxy <,>));

            var items = ServiceLocator.Get <IBusinessList <ButtonList, Button> >();

            Assert.IsNotNull(items);

            // 这里跟进不了切片
            var ds = items.Fetch(new ReflectCriteria <ButtonList>("ButtonList", "Search", null));

            Assert.IsNotNull(ds);
        }
Example #3
0
        public void InterceptAllByDynamicProxy()
        {
            var aspect = Aspect.For <ComplexClass_Default_Constructure>();

            aspect
            .PointCut()
            .Method("*")
            .Deep(1)
            .Advice <LoggerInterceptor>();


            var cc = (ComplexClass_Default_Constructure)Proxy.NewProxyInstance(typeof(ComplexClass_Default_Constructure),
                                                                               null,
                                                                               new InterceptorInvocationHandr(typeof(ComplexClass_Default_Constructure), Type.EmptyTypes));

            Assert.IsNotNull(cc);

            WrapAndInvokeEverything(cc);
        }
Example #4
0
        public void InterceptAllByIoC()
        {
            var aspect = Aspect.For <ComplexClass_Default_Constructure>();

            aspect
            .PointCut()
            .Method("*")
            .Deep(1)
            .Advice <LoggerInterceptor>();

            ServiceRegistry.Register <ComplexClass_Default_Constructure>();

            var cc = ServiceLocator.Get <ComplexClass_Default_Constructure>();

            Assert.IsNotNull(cc);


            WrapAndInvokeEverything(cc);
        }
Example #5
0
        public void Test()
        {
            var aspect = Aspect.For(typeof(MyList <>))
                         .PointCut()
                         .Method("*")
                         .Deep(3)
                         .Advice <LoggerInterceptor>();

            ServiceRegistry.Current.Register(typeof(IMyList <>), typeof(MyList <>));

            var list = ServiceLocator.Get <IMyList <int> >();

            Assert.IsNotNull(list);

            list.Add(1);

            list.Test <string>("hello");
            list.Test2 <string>(5, "word");
        }