/// <summary> /// Creates bindings using conventions /// </summary> /// <param name="kernel">The kernel for which the bindings are created.</param> /// <param name="configure">The binding convention configuration.</param> public static void Bind(this IBindingRoot kernel, Action <IFromSyntax> configure) { if (configure == null) { throw new ArgumentNullException("configure"); } #if !NO_ASSEMBLY_SCANNING var assemblyNameRetriever = new AssemblyNameRetriever(); try { var builder = new ConventionSyntax( new ConventionBindingBuilder(kernel, new TypeSelector()), new AssemblyFinder(assemblyNameRetriever), new TypeFilter(), new BindingGeneratorFactory(new BindableTypeSelector())); configure(builder); } finally { assemblyNameRetriever.Dispose(); } #else var builder = new ConventionSyntax( new ConventionBindingBuilder(kernel, new TypeSelector()), new TypeFilter(), new BindingGeneratorFactory(new BindableTypeSelector())); configure(builder); #endif }
public static IIncludingNonePublicTypesSelectSyntax FromProductionAssemblies(this IFromSyntax syntax) { using (var assemblyNameRetriever = new AssemblyNameRetriever()) { var assemblyFinder = new AssemblyFinder(assemblyNameRetriever); IEnumerable <string> assemblyFileNames = assemblyFinder .FindAssembliesMatching(new[] { ScanPattern }) .Where(assemblyFileName => IsProductionAssembly(assemblyFileName)); return(syntax.From(assemblyFileNames)); } }
public AssemblyNameRetrieverContext() { this.AssemblyNameRetriever = new AssemblyNameRetriever(); }