autofac - Get a list of all registered objects implementing a certain interface -
consider following
builder.register(c => new a()); builder.register(c => new b()); builder.register(c => new c()); b , c both isomeinterface.
i ienumerable of registered objects implement isomeinterface.
how can accomplish in autofac?
just tried this, works , not depend on lifetime context:
enumerate types using activator instead
var types = con.componentregistry.registrations.where(r => typeof(isomeinterface).isassignablefrom(r.activator.limittype)).select(r => r.activator.limittype); then resolve:
ienumerable<isomeinterface> lst = types.select(t => con.resolve(t) isomeinterface); autofac
No comments:
Post a Comment