Exemplo n.º 1
0
        public static void Main(string[] args)
        {
            using (var container = new Unity.UnityContainer())
            {
                container.AddNewExtension <Interception>();

                container.RegisterType(typeof(IDataContainer <string>), typeof(DataContainer)
                                       , new Interceptor <InterfaceInterceptor>()
                                       , new InterceptionBehavior <LoggingAspect>());

                container.RegisterType(typeof(IDataManager <string>), typeof(DataManager)
                                       , new Interceptor <InterfaceInterceptor>()
                                       , new InterceptionBehavior <LoggingAspect>());

                container.RegisterType <IProcessor, Processor>(
                    new Interceptor <InterfaceInterceptor>()
                    , new InterceptionBehavior <LoggingAspect>());

                var processor = container.Resolve <IProcessor>();
                var result    = processor.DoWork();
            }

            /*
             * Processor processor = DependencyInjector.Retrieve<Processor>();
             * var result = processor.DoWork();
             */
        }