CarterCommunity / Carter

Carter is framework that is a thin layer of extension methods and functionality over ASP.NET Core allowing code to be more explicit and most importantly more enjoyable.
MIT License
2.05k stars 172 forks source link

suggest for nested work #327

Closed xlogex closed 1 month ago

xlogex commented 9 months ago

t.IsPublic

&& (t.IsNestedPublic || t.IsPublic)

yegorandrosov commented 9 months ago

Found workaround

var catalog = new DependencyContextAssemblyCatalog();
var types = catalog.GetAssemblies().SelectMany(x => x.GetTypes());
var modules = types
            .Where(t =>
                !t.IsAbstract &&
                typeof(ICarterModule).IsAssignableFrom(t)
                && (t.IsPublic || t.IsNestedPublic)
            ).ToList();

builder.Services.AddCarter(configurator: c =>
{
    c.WithModules(modules.ToArray());
});