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 に答える