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