コード例 #1
0
ファイル: IoC.cs プロジェクト: AdvanceEnemy/pub.class
 public static T Get <T>()
 {
     if (!Has <T>())
     {
         Register <T>();
     }
     return((T)_current.Get(typeof(T)));
 }
コード例 #2
0
        private void ConfigureApplication(IIoC container)
        {
            if (Device.OS != TargetPlatform.WinPhone)
            {
                AppResources.Culture = container.Get <ILocalize>().GetCurrentCultureInfo();
            }
            var viewFactory = container.Get <IViewFactory>();

            _application.MainPage = new NavigationPage(viewFactory.Get <IHomePageViewModel>() as Page);
        }
コード例 #3
0
        public IView Get <TViewModel>(out TViewModel viewModel)
            where TViewModel : class, IViewModel
        {
            viewModel = _provider.Get <TViewModel>();

            var viewType = _map[typeof(TViewModel)];
            var view     = (IView)_provider.Get(viewType);

            viewModel.Navigation = new ViewModelNavigation(view.Navigation);
            view.BindingContext  = viewModel;
            return(view);
        }
コード例 #4
0
        IHttpController IHttpControllerActivator.Create(HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType)
        {
            var res = (IHttpController)_ioc.Get(controllerType);

            request.RegisterForDispose(new Release(() => _ioc.Release(res)));

            return(res);
        }
コード例 #5
0
        public static void Init(IIoC ioc)
        {
            ioc.Register <IConnectionStringProvider, ConnectionStringProvider>();
            ioc.Register <IUnitOfWork, EfUnitOfWork>();
            ioc.Register <IDbContextFactory, DbContextFactory>();
            ioc.Register <IRepositoryFactory, RepositoryFactory>();
            ioc.Register <IDbVersionProvider, DbVersionProvider>();

            OrmInitializer.Init();

            ioc.Get <IPredefinedDataManager>().Register("_02_", new ForumInitializer());
        }