/// <summary>
        /// Export only if type is not exported
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="configuration"></param>
        /// <param name="type"></param>
        /// <param name="key"></param>
        /// <returns></returns>
        public static IFluentExportStrategyConfiguration <T> IfNotRegistered <T>(this IFluentExportStrategyConfiguration <T> configuration, Type type, object key = null)
        {
            var activationStrategyProvider = configuration as IActivationStrategyProvider;

            return(configuration.OnlyIf(block => !block.IsExported(type, key, activationStrategyProvider?.GetStrategy() as ICompiledExportStrategy)));
        }
Esempio n. 2
0
 /// <summary>
 /// Export only if function returns true
 /// </summary>
 /// <param name="filter"></param>
 /// <returns></returns>
 public IFluentExportStrategyConfiguration OnlyIf(Func <IExportRegistrationBlock, bool> filter)
 {
     return(_strategy.OnlyIf(filter));
 }