MvxSimpleIoCContainer和多个具体实现

时间:2013-05-09 14:53:34

标签: mvvmcross

如果我有接口IMvxScreen和多个实现IMvxScreen的具体类,是否可以一次解决所有实现?

public MyClass(IScreen[] screens) 
  {

1 个答案:

答案 0 :(得分:2)

不 - 目前无法实现。

您必须提供单独的界面/对象 - 例如IScreenService

假设您的所有屏幕都在同一个程序集中,我猜您可以使用以下服务提供此功能:

 public interface IScreenService
 {
     IEnumerable<IScreen> CreateAll();
 }

 public class ScreenService : IScreenService
 {
     public IEnumerable<IScreen> CreateAll()
     {
         return this.GetType().Assembly
                            .CreatableTypes()
                            .Inherits<IScreen>()
                            .Select(t => Mvx.IocConstruct(t));
     }
 }