/// <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); } }
/// <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); }
/// <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); }