public DelegatingTagHelperActivator(Predicate <Type> customCreatorSelector, Func <Type, object> customTagHelperCreator,
                                     ITagHelperActivator defaultTagHelperActivator)
 {
     this.customCreatorSelector     = customCreatorSelector ?? throw new ArgumentNullException(nameof(customCreatorSelector));
     this.customTagHelperCreator    = customTagHelperCreator ?? throw new ArgumentNullException(nameof(customTagHelperCreator));
     this.defaultTagHelperActivator = defaultTagHelperActivator ?? throw new ArgumentNullException(nameof(defaultTagHelperActivator));
 }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SimpleInjectorTagHelperActivator"/> class.
 /// </summary>
 /// <param name="container">The container instance.</param>
 /// <param name="tagHelperSelector">The predicate that determines which tag helpers should be created
 /// by the supplied <paramref name="container"/> (when the predicate returns true) or using the
 /// supplied <paramref name="frameworkTagHelperActivator"/> (when the predicate returns false).</param>
 /// <param name="frameworkTagHelperActivator">The framework's tag helper activator.</param>
 public SimpleInjectorTagHelperActivator(
     Container container,
     Predicate <Type> tagHelperSelector,
     ITagHelperActivator frameworkTagHelperActivator)
 {
     this.container         = container ?? throw new ArgumentNullException(nameof(container));
     this.tagHelperSelector = tagHelperSelector ?? throw new ArgumentNullException(nameof(tagHelperSelector));
     this.activator         = frameworkTagHelperActivator ?? throw new ArgumentNullException(nameof(frameworkTagHelperActivator));
 }
示例#3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SimpleInjectorTagHelperActivator"/> class.
        /// </summary>
        /// <param name="container">The container instance.</param>
        /// <param name="tagHelperSelector">The predicate that determines which tag helpers should be created
        /// by the supplied <paramref name="container"/> (when the predicate returns true) or using the
        /// supplied <paramref name="frameworkTagHelperActivator"/> (when the predicate returns false).</param>
        /// <param name="frameworkTagHelperActivator">The framework's tag helper activator.</param>
        public SimpleInjectorTagHelperActivator(Container container, Predicate <Type> tagHelperSelector,
                                                ITagHelperActivator frameworkTagHelperActivator)
        {
            Requires.IsNotNull(container, nameof(container));
            Requires.IsNotNull(tagHelperSelector, nameof(tagHelperSelector));
            Requires.IsNotNull(frameworkTagHelperActivator, nameof(frameworkTagHelperActivator));

            this.container                   = container;
            this.tagHelperSelector           = tagHelperSelector;
            this.frameworkTagHelperActivator = frameworkTagHelperActivator;
        }
        /// <summary>
        /// Initializes a new <see cref="DefaultTagHelperFactory"/> instance.
        /// </summary>
        /// <param name="activator">
        /// The <see cref="ITagHelperActivator"/> used to create tag helper instances.
        /// </param>
        public DefaultTagHelperFactory(ITagHelperActivator activator)
        {
            if (activator == null)
            {
                throw new ArgumentNullException(nameof(activator));
            }

            _activator               = activator;
            _injectActions           = new ConcurrentDictionary <Type, PropertyActivator <ViewContext>[]>();
            _getPropertiesToActivate = type =>
                                       PropertyActivator <ViewContext> .GetPropertiesToActivate(
                type,
                typeof(ViewContextAttribute),
                _createActivateInfo);
        }
        /// <summary>
        /// Initializes a new <see cref="DefaultTagHelperFactory"/> instance.
        /// </summary>
        /// <param name="activator">
        /// The <see cref="ITagHelperActivator"/> used to create tag helper instances.
        /// </param>
        public DefaultTagHelperFactory(ITagHelperActivator activator)
        {
            if (activator == null)
            {
                throw new ArgumentNullException(nameof(activator));
            }

            fActivator     = activator;
            fInjectActions = new ConcurrentDictionary <Type, PropertyActivator <PageContext>[]>();

            //TODO: ViewContext attribute
            //_getPropertiesToActivate = type =>
            //    PropertyActivator<PageContext>.GetPropertiesToActivate(
            //        type,
            //        typeof(ViewContextAttribute),
            //        _createActivateInfo);
        }