Esempio n. 1
0
        public IObjectProvider Build(IServiceCollection serviceCollection = null)
        {
            serviceCollection = serviceCollection ?? new ServiceCollection();
            _container.BuildServiceProvider(serviceCollection);

            Register <IObjectProvider>(context =>
            {
                var provider = context as ObjectProvider;
                if (provider == null)
                {
                    throw new Exception("object provider is not Unity ObjectProvider!");
                }

                return(new ObjectProvider(provider.UnityContainer));
            }, ServiceLifetime.Scoped);

            var objectProvider = new ObjectProvider(_container);

            return(objectProvider);
        }
Esempio n. 2
0
        protected override Window CreateShell()
        {
            _container = Container.GetContainer();

            var appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                                           "Tetris WPF\\config\\");

            Configuration = new ConfigurationBuilder()
                            .SetBasePath(Directory.GetCurrentDirectory())
                            .AddJsonFile("appsettings.json", false, true)
                            .AddJsonFile(Path.Combine(appDataPath, "appsettings.json"), true, true)
                            .Build();
            BgmPlayer = new SoundPlayer("Resources\\Tetris.wav");
            var serviceCollection = new ServiceCollection();

            ConfigureServices(serviceCollection);
            _container.BuildServiceProvider(serviceCollection);
            return(_container.Resolve <MainWindow>());
        }
Esempio n. 3
0
 public static void BuildServiceProvider(IUnityContainer container)
 {
     // add services to unity container. piggy backing on Unity.Microsoft.DependencyInjection extensions
     container.BuildServiceProvider(_services);
 }