我的基本接口IBaseModel
包含许多后代(例如IContactModel : IBaseModel;
,IRelationModel : IBaseModel;
等)和实现此接口的对象。
所有这些后代接口都在Unity容器中注册。
如何解决IBaseModel
后代的所有对象?
答案 0 :(得分:0)
var types = Container
.Registrations
.Where(x => typeof (IBaseModel).IsAssignableFrom(x.RegisteredType))
.Select(x => x.RegisteredType)
.ToList();
var result = types
.Select(x => (IBaseModel) Container.Resolve(x.UnderlyingSystemType))
.ToList();