Exemplo n.º 1
0
 /// <summary>
 ///
 /// </summary>
 public void Ninject()
 {
     var ninjectLoader     = new ModuleLoader(null);
     var resolver          = new StandardBindingResolver();
     var bindingResolver   = new OpenGenericBindingResolver();
     var cache             = new Cache(null, null);
     var pipeline          = new Pipeline(null, null);
     var activationCache   = new ActivationCache(null);
     var gccp              = new GarbageCollectionCachePruner();
     var acs               = new ActivationCacheStrategy(null);
     var pis               = new PropertyInjectionStrategy(null);
     var rif               = new ReflectionInjectorFactory();
     var mis               = new MethodInjectionStrategy();
     var initStrategy      = new InitializableStrategy();
     var startableStrategy = new StartableStrategy();
     var bas               = new BindingActionStrategy();
     var ds                        = new DisposableStrategy();
     var planner                   = new Planner(null);
     var crs                       = new ConstructorReflectionStrategy(null, null);
     var selector                  = new Selector(null, null);
     var scs                       = new StandardConstructorScorer();
     var sih                       = new StandardInjectionHeuristic();
     var prs                       = new PropertyReflectionStrategy(null, null);
     var mrs                       = new MethodReflectionStrategy(null, null);
     var dvbr                      = new DefaultValueBindingResolver();
     var selfBindingResolver       = new SelfBindingResolver(null);
     var bindingPrecedenceComparer = new BindingPrecedenceComparer();
 }
Exemplo n.º 2
0
        public void GlobalSetup()
        {
            var ninjectSettings = new NinjectSettings {
                LoadExtensions = false
            };

            var kernelConfiguration = new KernelConfiguration(ninjectSettings);

            kernelConfiguration.Bind <IWarrior>().To <SpecialNinja>().WhenInjectedExactlyInto <NinjaBarracks>();
            kernelConfiguration.Bind <IWarrior>().To <Samurai>().WhenInjectedExactlyInto <Barracks>();
            kernelConfiguration.Bind <IWarrior>().To <FootSoldier>().WhenInjectedExactlyInto <Barracks>();
            kernelConfiguration.Bind <IWeapon>().To <Shuriken>().WhenInjectedExactlyInto <Barracks>();
            kernelConfiguration.Bind <IWeapon>().To <ShortSword>().WhenInjectedExactlyInto <Spartan>();

            _injectorFactory = new ExpressionInjectorFactory();

            _contextWithParams = CreateContext(kernelConfiguration,
                                               kernelConfiguration.BuildReadOnlyKernel(),
                                               new List <IParameter>
            {
                new ConstructorArgument("height", 34),
                new PropertyValue("name", "cutter"),
                new ConstructorArgument("width", 17),
                new ConstructorArgument("location", "Biutiful")
            },
                                               typeof(StandardConstructorScorerBenchmark),
                                               ninjectSettings);

            _contextWithoutParams = CreateContext(kernelConfiguration,
                                                  kernelConfiguration.BuildReadOnlyKernel(),
                                                  Enumerable.Empty <IParameter>(),
                                                  typeof(StandardConstructorScorerBenchmark),
                                                  ninjectSettings);

            _injectCtor          = typeof(NinjaBarracks).GetConstructor(new[] { typeof(IWarrior), typeof(IWeapon) });
            _injectCtorDirective = new ConstructorInjectionDirective(_injectCtor, _injectorFactory.Create(_injectCtor));

            _defaultCtor          = typeof(NinjaBarracks).GetConstructor(new Type[0]);
            _defaultCtorDirective = new ConstructorInjectionDirective(_defaultCtor, _injectorFactory.Create(_defaultCtor));

            _knifeCtor          = typeof(Knife).GetConstructor(new[] { typeof(int), typeof(int) });
            _knifeCtorDirective = new ConstructorInjectionDirective(_knifeCtor, _injectorFactory.Create(_knifeCtor));

            _knifeDefaultsCtor          = typeof(Knife).GetConstructor(new[] { typeof(bool), typeof(string) });
            _knifeDefaultsCtorDirective = new ConstructorInjectionDirective(_knifeDefaultsCtor, _injectorFactory.Create(_knifeDefaultsCtor));

            _spartanNameAndAgeCtor          = typeof(Spartan).GetConstructor(new[] { typeof(string), typeof(int) });
            _spartanNameAndAgeCtorDirective = new ConstructorInjectionDirective(_spartanNameAndAgeCtor, _injectorFactory.Create(_spartanNameAndAgeCtor));

            _spartanHeightAndWeaponCtor          = typeof(Spartan).GetConstructor(new[] { typeof(string), typeof(int) });
            _spartanHeightAndWeaponCtorDirective = new ConstructorInjectionDirective(_spartanHeightAndWeaponCtor, _injectorFactory.Create(_spartanHeightAndWeaponCtor));

            _barracksCtor          = typeof(Barracks).GetConstructor(new[] { typeof(IWarrior), typeof(IWeapon) });
            _barracksCtorDirective = new ConstructorInjectionDirective(_barracksCtor, _injectorFactory.Create(_barracksCtor));

            _monasteryCtor          = typeof(Monastery).GetConstructor(new[] { typeof(IWarrior), typeof(IWeapon) });
            _monasteryCtorDirective = new ConstructorInjectionDirective(_monasteryCtor, _injectorFactory.Create(_monasteryCtor));

            _standardConstructorScorer = new StandardConstructorScorer(ninjectSettings);
        }