DryIoC 寄存器配置

DryIoC register configuration

我正在使用 Prism 和 DryIoC 开发 Xamarin 项目。

目前我正在设置一些特定于环境的自定义配置,但是我正在为这方面的 IoC 语法苦苦挣扎。

我的 App.xaml.cs 中有以下代码:

private void SetConfiguration(IContainerRegistry containerRegistry)
        {
            // Get and deserialize config.json file from Configuration folder.
            var embeddedResourceStream = Assembly.GetAssembly(typeof(IConfiguration)).GetManifestResourceStream("MyVismaMobile.Configurations.Configuration.config.json");
            if (embeddedResourceStream == null)
                return;

            using (var streamReader = new StreamReader(embeddedResourceStream))
            {
                var jsonString = streamReader.ReadToEnd();
                var configuration = JsonConvert.DeserializeObject<Configuration.Configuration>(jsonString);

                What to do with configuration, in order to DI it?
            }

配置变量注入应该怎么办? 我尝试了以下方法:

containerRegistry.RegisterSingleton<IConfiguration, Configuration>(c => configuration);
containerRegistry.Register<IConfiguration, Configuration>(c => configuration));

但是dryIoC的语法有问题

RegisterSingletonRegister 用于注册 types 容器随后将在其中创建实例。你已经有了你的实例,所以你使用

containerRegistry.RegisterInstance<IConfiguration>( configuration );

显然,实例总是单例的,所以没有单独的 RegisterInstanceSingleton...