Xamarin.forms 感兴趣类中Prism模块的功能(Xamarin Foirms和#x2B;Prism)
你好强>Xamarin.forms 感兴趣类中Prism模块的功能(Xamarin Foirms和#x2B;Prism),xamarin.forms,prism,Xamarin.forms,Prism,你好 更新 我不明白如何使用模块逻辑从类访问Prism模块的功能 问题: 如何在PageAViewModel中访问IServiceA功能(在模块中定义)的实现(我忘记了这么做) 如果我想在许多不同的国家/地区使用此功能,而不必每次都加载模块,我如何管理模块a/ServiceA的生命周期(场景-加载应用程序时调用模块a/ServiceA,使用后卸载,在PageA/PageB/PageC上使用) 谢谢大家的回答! 祝您有个美好的一天! /对不起谷歌翻译/ prism应用程序的模块用于模块化代码
更新 我不明白如何使用模块逻辑从类访问Prism模块的功能 问题:
- 如何在PageAViewModel中访问IServiceA功能(在模块中定义)的实现(我忘记了这么做)
- 如果我想在许多不同的国家/地区使用此功能,而不必每次都加载模块,我如何管理模块a/ServiceA的生命周期(场景-加载应用程序时调用模块a/ServiceA,使用后卸载,在PageA/PageB/PageC上使用)
prism应用程序的模块用于模块化代码库。它们与视图或视图模型无关,而是将应用程序拆分为可以独立开发、测试和替换的组件。如何拆分应用程序取决于您 也许你应该复习一下 编辑:关于具体问题: 如何在PageAViewModel中访问IServiceA功能(在模块中定义)的实现(我忘记了这么做) 您创建了一个类型为
IService
的构造函数参数,prism将为您提供注册的实现:
internal class PageAViewModel
{
public PageAViewModel( IService service )
{
service.DoStuff();
}
}
如果我想在许多不同的国家/地区使用此功能,而不必每次加载模块,我如何管理模块a/ServiceA的生命周期
您不能也不需要管理模块a
的生命周期,prism会负责这一点。至于,ServiceA
您在注册时选择了生存期:
为每个页面创建一个新的服务实例containerRegistry.Register()
为所有页面创建一个服务实例containerRegistry.RegisterSingleton()