2

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

public MyClass(IScreen[] screens) 
  {
4

1 回答 1

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));
     }
 }
于 2013-05-09T15:03:55.837 回答