2014-02-06 98 views
0

我的應用程序都有一個共同的IRepository接口,以及多個接口延伸這樣的:使用MvvmCross IoC,如何獲得實現通用接口的單例列表?

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

有一個在MvxSimpleIocContainer

但是沒有API對於這一點,你可以很容易地實現這個自己反思 - 只需使用反射來列出所有的存儲庫繼承接口,然後用Mvx.Resolve要檢索的實現這些接口的單身。

或者,您也可以查看其他方法,例如攔截App啓動時發生的註冊 - 無論是在批量註冊還是在BaseRepository構造函數中。

+0

謝謝@Stuart!我會嘗試一種方法。 – elevine