public void Bind(IDiContainer di) { GenOutput.FillDomain(GenDomain.Static); di.Bind <ProgramObject>().To(programObjComponent); di.Bind <IAmDiBasedObjectFactory>().To(d => new AmJitsuGenDiBasedObjectFactory(d.Get)); di.Bind <IWindowingSystem>().To <UcGui>(); di.Bind <IGui>().To <UcGui>(); di.Bind <IRenderService>().To <UcRenderService>(); di.Bind <IDefaultStateInitializer>().To <UcDefaultStateInitializer>(); di.Bind <IMoviePlayer>().To <UcCgMoviePlayer>(); di.Bind <IUcRenderingInfra>().To <UcRenderingInfra>(); di.Bind <IImageLoader>().To <UcImageLoader>(); di.BindMulti <IUcInputProvider>().To <UcMouseInputProvider>(); di.BindMulti <IUcInputProvider>().To <UcKeyboardInputProvider>(); di.Bind <IVrHeadPositionService>().To <VrHeadPositionService>(); di.Bind <IStandardMaterialCache>().To <StandardMaterialCache>(); di.Bind <IRtImageBuilder>().To <UcRtImageBuilder>(); di.Bind <IRichTextMeasurer>().To <UcRichTextMeasurer>(); di.Bind <IMessageBoxService>().To <MessageBoxService>(); di.Bind <IVrInitializerService>().To <VrInitializerService>(); di.Bind <IGlobalObjectService>().To <GlobalObjectService>(); di.Bind <IVrManipulationService>().To <VrManipulationService>(); di.Bind <ILogService>().To <UcLogService>(); di.Bind <IMessagePopupService>().To <UcMessagePopupService>(); di.Bind <IVrInputDispatcher>().To <NoviceVrInputDispatcher>(); di.BindMulti <IVrNavigationMode>().To <MinimapVrNavigationMode>(); //di.BindMulti<IVrNavigationMode>().To<FixedTeleportVrNavigationMode>(); //di.BindMulti<IVrNavigationMode>().To<FixedSmoothVrNavigationMode>(); di.BindMulti <IVrNavigationMode>().To <FreeSmoothVrNavigationMode>(); di.BindMulti <IVrNavigationMode>().To <MoveInPlaceVrNavigationMode>(); di.BindMulti <IVrNavigationMode>().To <FreeTeleportVrNavigationMode>(); }
private static void Run() { try { GenOutput.FillDomain(GenDomain.Static); var calcType = GenDomain.Static.GetGeneratedType(typeof(ICalculator)); var calc = (ICalculator)Activator.CreateInstance(calcType, new Calculator()); Console.WriteLine(calc.Add(1, 2)); Console.WriteLine(calc.Multiply(3, 4)); calc.Memory = 123; Console.WriteLine(calc.Memory); // todo: test generics and ref/out } catch (Exception e) { Console.WriteLine($"FAIL: {e.Message}"); } Console.WriteLine("Press any key to exit..."); Console.ReadLine(); }