私のMvvmCross
ベースのアプリケーションでは、次のように、クラス内に
いくつかのシングルトン サービス クラスを登録しています。Mvx IOC container
Shared 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)
が、そのメソッドは存在しません。
すべてのサービスを具体的に解決し、それぞれでメソッドを呼び出す必要がありますか、
それとも代替手段はありますか?
よろしくお願いします。