<PackageReference Include="Castle.Windsor" Version="5.1.2" />

FromAssemblyDescriptor

Selects a set of types from an assembly.
using Castle.Core.Internal; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; namespace Castle.MicroKernel.Registration { public class FromAssemblyDescriptor : FromDescriptor { protected readonly IEnumerable<Assembly> assemblies; protected bool nonPublicTypes; protected internal FromAssemblyDescriptor(Assembly assembly, Predicate<Type> additionalFilters) : base(additionalFilters) { assemblies = new Assembly[1] { assembly }; } protected internal FromAssemblyDescriptor(IEnumerable<Assembly> assemblies, Predicate<Type> additionalFilters) : base(additionalFilters) { this.assemblies = assemblies; } public FromAssemblyDescriptor IncludeNonPublicTypes() { nonPublicTypes = true; return this; } protected override IEnumerable<Type> SelectedTypes(IKernel kernel) { return assemblies.SelectMany((Assembly a) => a.GetAvailableTypesOrdered(nonPublicTypes)); } } }