1

我有IBaseModel许多后代(例如IContactModel : IBaseModel;IRelationModel : IBaseModel;)的基本接口和实现这个接口的对象。

所有这些后代接口都注册在 Unity 容器中。

如何解决我的所有对象的后代IBaseModel

4

1 回答 1

1
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();
于 2012-08-03T09:46:27.533 回答