我的应用程序有一个共同的IRepository
接口,以及几个扩展它的界面:
public interface IRepository
{
void Start();
void Stop();
}
public interface IFooRepository : IRepository
{
// Foo specific methods
}
public interface IBarRepository : IRepository
{
// Bar specific methods
}
当应用启动时,实现IFooRepository
和IBarRepository
的类会被注册为单身人士。是否可以使用MvvmCross的服务定位器将单身人士检索为List<IRepository>
?
答案 0 :(得分:1)
MvxSimpleIocContainer
但是,您可以轻松地自己实现反射 - 只需使用反射列出所有存储库继承接口,然后使用Mvx.Resolve检索实现这些接口的单例。
或者,您还可以查看其他方法,例如在App启动时拦截注册 - 无论是在批量注册还是在BaseRepository构造函数中。