を実装するインターフェイスIMvxScreen
と複数の具象クラスがあるIMvxScreen
場合、すべての実装を一度に解決できますか?
public MyClass(IScreen[] screens)
{
を実装するインターフェイスIMvxScreen
と複数の具象クラスがあるIMvxScreen
場合、すべての実装を一度に解決できますか?
public MyClass(IScreen[] screens)
{
いいえ - これは現在不可能です。
別のインターフェイス/オブジェクトを提供する必要があります-たとえば、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));
}
}