在我MvvmCross
的基于应用程序中,我在我的类
中注册了一些单例服务类,如下所示:Mvx IOC container
Shared Core App
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsSingleton();
所有注册的服务都继承自一个基类:
public abstract class BaseService
{
public abstract void MyMethod();
}
App启动后,我想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)
,但这种方法不存在。
我必须专门解决所有服务并在每个服务上调用该方法,
还是有其他选择?
在此先感谢您的帮助!