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 に答える