Xamarin.forms IContainerRegistryExtensions如何将实例注册为singleton

Xamarin.forms IContainerRegistryExtensions如何将实例注册为singleton,xamarin.forms,prism,Xamarin.forms,Prism,我正在尝试将一个旧的Prism Xamarin表单项目迁移到最新的Prism和XF版本 我想注册一个工厂来创建这样的连接Func: 公共类AndroidInitializer:IPlatformInitializer { 字符串DbFilePath=>Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal),“test.db3”); 公共无效注册表类型(IContainerRegistry容器) { Re

我正在尝试将一个旧的Prism Xamarin表单项目迁移到最新的Prism和XF版本

我想注册一个工厂来创建这样的连接
Func

公共类AndroidInitializer:IPlatformInitializer
{
字符串DbFilePath=>Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal),“test.db3”);
公共无效注册表类型(IContainerRegistry容器)
{
RegisterSingleton(()=>newsqliteconnection(DbFilePath));
}
}

然而,如果这不起作用,就不会像我在旧的Prism Unity版本中使用的那样,出现重载。ContainerRegistry是一个专门的基础,它可以以一致的方式处理您需要的90%以上的注册,而不管您使用的是哪个容器。您可以继续使用基础容器进行更高级的注册

对于国际奥委会和联合会来说,这将是:

containerRegistry.GetContainer().SomeContainerSpecificMethod();

如果
某些ContainerSpecificMethod
与Prism 6.3中的方法相匹配,另一种可能是使用RegisterInstance注册类的单个实例。但不确定这是否对对象生存期有影响

var connection = new SQLiteConnection(DbFilePath)
container.RegisterInstance(connection);
var connection = new SQLiteConnection(DbFilePath)
container.RegisterInstance(connection);