/// <summary> /// Sets Inversion of Control. /// </summary> private void SetIoC() { var nativeApplication = new XFormsApp <Application>(); nativeApplication.Init(this); var containerBuilder = new ContainerBuilder(); containerBuilder.Register(c => WindowsPhoneDevice.CurrentDevice).As <IDevice>(); containerBuilder.Register(c => nativeApplication).As <IXFormsApp>(); Core.App.RegisterCoreComponents(containerBuilder); var autofacContainer = new AutofacContainer(containerBuilder.Build()); autofacContainer.Register <IDependencyContainer>(autofacContainer); Resolver.SetResolver(autofacContainer.GetResolver()); }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); Xamarin.Forms.Forms.Init(this, bundle); var resolverContainer = new SimpleContainer(); resolverContainer .Register <IDevice>(t => AndroidDevice.CurrentDevice) .Register <IDisplay>(t => t.Resolve <IDevice>().Display) .Register <IDependencyContainer>(resolverContainer); Resolver.SetResolver(resolverContainer.GetResolver()); var app = new XFormsApp <RiskAnalysisTool.MobileApp.App>(RiskAnalysisTool.MobileApp.App.Instance); resolverContainer.Register <IXFormsApp>(app); this.LoadApplication(RiskAnalysisTool.MobileApp.App.Instance); }
/// <summary> /// Sets the IoC. /// </summary> private void SetIoc() { var nativeApplication = new XFormsApp <XFormsApplicationDroid>(); nativeApplication.Init(this); var containerBuilder = new ContainerBuilder(); containerBuilder.Register(c => AndroidDevice.CurrentDevice).As <IDevice>(); containerBuilder.Register(c => nativeApplication).As <IXFormsApp>(); containerBuilder.Register(c => new FileService()).As <IFileService>(); containerBuilder.Register(c => new Id3TagService()).As <IId3TagService>(); containerBuilder.Register(c => new MediaPlayerService()).As <IMediaPlayerService>(); App.RegisterCoreComponents(containerBuilder); var autofacContainer = new AutofacContainer(containerBuilder.Build()); autofacContainer.Register <IDependencyContainer>(autofacContainer); Resolver.SetResolver(autofacContainer.GetResolver()); }