コード例 #1
0
        public static ICompositeHandler AddHandler <T>(
            this ICompositeHandler handler)
        {
            var container = P <IContainer>(handler);

            return(handler.AddHandlers(container.Resolve <T>()));
        }
コード例 #2
0
        public static ICompositeHandler InsertHandler <T>(
            this ICompositeHandler handler, int atIndex)
        {
            var container = P <IContainer>(handler);;

            return(handler.InsertHandlers(atIndex, container.Resolve <T>()));
        }
コード例 #3
0
        internal void Activate(TypeHandlerRegistry registry, ICompositeHandler compositeHandler)
        {
            var handler = (TypeHandler)compositeHandler;

            registry.ByOID[OID] = handler;
            registry.ByType[compositeHandler.CompositeType] = handler;
            Array?.Activate(registry);
        }
コード例 #4
0
        public static ICompositeHandler AddHandlers <T1, T2, T3>(
            this ICompositeHandler handler)
        {
            var container = P <IContainer>(handler);;

            return(handler.AddHandlers(container.Resolve <T1>(),
                                       container.Resolve <T2>(),
                                       container.Resolve <T3>()));
        }
コード例 #5
0
        public static ICompositeHandler InsertHandlers <T1, T2, T3, T4>(
            this ICompositeHandler handler, int atIndex)
        {
            var container = P <IContainer>(handler);;

            return(handler.InsertHandlers(atIndex, container.Resolve <T1>(),
                                          container.Resolve <T2>(),
                                          container.Resolve <T3>(),
                                          container.Resolve <T4>()));
        }
コード例 #6
0
        public static BaseHandler GetNextNotSkipReturnable(this ICompositeHandler compositeHandler)
        {
            var handlers     = compositeHandler.GetInnerHandlers();
            var innerHandler = handlers.FirstOrDefault();

            while (innerHandler.IsSkipReturnable())
            {
                innerHandler = handlers.GetNextFrom(innerHandler);
            }

            return(innerHandler);
        }