使用MvvmCross IoC,我如何获得实现通用接口的单例列表?

时间:2014-02-06 16:42:48

标签: c# xamarin.android mvvmcross

我的应用程序有一个共同的IRepository接口,以及几个扩展它的界面:

public interface IRepository
{
  void Start();
  void Stop();
}


public interface IFooRepository : IRepository
{
 // Foo specific methods    
}

public interface IBarRepository : IRepository
{
 // Bar specific methods
}

当应用启动时,实现IFooRepositoryIBarRepository的类会被注册为单身人士。是否可以使用MvvmCross的服务定位器将单身人士检索为List<IRepository>

1 个答案:

答案 0 :(得分:1)

MvxSimpleIocContainer

中没有Api

但是,您可以轻松地自己实现反射 - 只需使用反射列出所有存储库继承接口,然后使用Mvx.Resolve检索实现这些接口的单例。

或者,您还可以查看其他方法,例如在App启动时拦截注册 - 无论是在批量注册还是在BaseRepository构造函数中。