コード例 #1
0
        /// <summary>
        /// Add strategy inspector
        /// </summary>
        /// <param name="inspector">inspector</param>
        public void AddInspector(IActivationStrategyInspector inspector)
        {
            ImmutableLinkedList.ThreadSafeAdd(ref Inspectors, inspector);

            foreach (var strategy in GetAllStrategies())
            {
                inspector.Inspect(strategy);
            }
        }
コード例 #2
0
        /// <summary>
        /// Add injection inspector that will be called to inspect all exports, wrappers and decorators (apply cross cutting configuration with an inspector)
        /// </summary>
        /// <param name="inspector">inspector</param>
        public void AddInspector(IActivationStrategyInspector inspector)
        {
            if (inspector == null)
            {
                throw new ArgumentNullException(nameof(inspector));
            }

            _inspectors = _inspectors.Add(inspector);
        }
コード例 #3
0
        /// <summary>
        /// Add inspector for type set
        /// </summary>
        /// <param name="inspector"></param>
        /// <returns></returns>
        public IExportTypeSetConfiguration WithInspector(IActivationStrategyInspector inspector)
        {
            if (inspector == null)
            {
                throw new ArgumentNullException(nameof(inspector));
            }

            _inspectors = _inspectors.Add(inspector);

            return(this);
        }