3

私のMvvmCrossベースのアプリケーションでは、次のように、クラス内に
いくつかのシングルトン サービス クラスを登録しています。Mvx IOC containerShared Core App

CreatableTypes()
    .EndingWith("Service")
    .AsInterfaces()
    .RegisterAsSingleton();

登録されたすべてのサービスは、基本クラスから継承します。

public abstract class BaseService
{
    public abstract void MyMethod();
}

MyMethod()アプリ起動後、登録した各サービスで実行したいと思います。

私は次のことを実行しようとしていました:

var serviceTypes = ReflectionUtils.GetTypesFromBase<BaseService>();
foreach (Type serviceType in serviceTypes)
{
    BaseService service = (BaseService)Mvx.IocConstruct(serviceType);
    service.MyMethod();
}

しかし、呼び出すとMvx.IocConstruct別のオブジェクトが作成されるため、IoC 登録中に作成されたシングルトン インスタンスでアクションを実行したいと考えています。

私が必要としているのは のようなものだと思いますMvx.Resolve(Type t)が、そのメソッドは存在しません。

すべてのサービスを具体的に解決し、それぞれでメソッドを呼び出す必要がありますか、
それとも代替手段はありますか?
よろしくお願いします。

4

1 に答える 1