示例#1
0
        /// <summary>
        /// Combines the filters from the specified manager with the current instance.
        /// </summary>
        /// <param name="filterManager">The filter manager.</param>
        /// <returns>A new filter manager representing the filter combinations.</returns>
        public IFilterManager Combine(IFilterManager filterManager)
        {
            if (filterManager == null)
            {
                return(this);
            }

            var newManager = new FilterManager(
                targetType,
                memberInfo,
                serviceLocator,
                preExecute.Union(filterManager.PreProcessors),
                triggerEffects.Union(filterManager.TriggerEffects),
                postExecute.Union(filterManager.PostProcessors),
                handlerAware.Union(filterManager.HandlerAware),
                rescues.Union(filterManager.Rescues)
                );

            return(newManager);
        }
示例#2
0
        /// <summary>
        /// Combines the filters from the specified manager with the current instance.
        /// </summary>
        /// <param name="filterManager">The filter manager.</param>
        /// <returns>A new filter manager representing the filter combinations.</returns>
        public IFilterManager Combine(IFilterManager filterManager)
        {
            if (filterManager == null)
            {
                return(this);
            }

            var newManager = new FilterManager(
                _targetType,
                _metadataContainer,
                _serviceLocator,
                _preExecute.Union(filterManager.PreProcessors),
                _triggerEffects.Union(filterManager.TriggerEffects),
                _postExecute.Union(filterManager.PostProcessors),
                _handlerAware.Union(filterManager.HandlerAware),
                _rescues.Union(filterManager.Rescues)
                );

            return(newManager);
        }