// typeof(IocPerformance.Classes.Properties.IComplexPropertyObject3) internal static object Create_19(IResolverContext r, IScope scope) { return(new IocPerformance.Classes.Properties.ComplexPropertyObject3 { ServiceA = (IocPerformance.Classes.Properties.ServiceA)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 59, () => new IocPerformance.Classes.Properties.ServiceA()), ServiceB = (IocPerformance.Classes.Properties.ServiceB)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 60, () => new IocPerformance.Classes.Properties.ServiceB()), ServiceC = (IocPerformance.Classes.Properties.ServiceC)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 61, () => new IocPerformance.Classes.Properties.ServiceC()), SubObjectA = new IocPerformance.Classes.Properties.SubObjectA { ServiceA = (IocPerformance.Classes.Properties.ServiceA)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 59, () => new IocPerformance.Classes.Properties.ServiceA()) }, SubObjectB = new IocPerformance.Classes.Properties.SubObjectB { ServiceB = (IocPerformance.Classes.Properties.ServiceB)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 60, () => new IocPerformance.Classes.Properties.ServiceB()) }, SubObjectC = new IocPerformance.Classes.Properties.SubObjectC { ServiceC = (IocPerformance.Classes.Properties.ServiceC)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 61, () => new IocPerformance.Classes.Properties.ServiceC()) } }); }
public void RegisterFactory <T1, T2, T3, TResult>(Func <T1, T2, T3, TResult> factory, RegistrationMode mode, RegistrationLifestyle lifestyle) where TResult : class { IReuse reuse = null; switch (lifestyle) { case RegistrationLifestyle.Singleton: reuse = new SingletonReuse(); break; case RegistrationLifestyle.SingletonPerScope: reuse = new CurrentScopeReuse(); break; case RegistrationLifestyle.SingletonPerObjectGraph: throw new NotSupportedException(""); } _container.RegisterDelegate(r => factory(r.Resolve <T1>(), r.Resolve <T2>(), r.Resolve <T3>()), reuse); }
public void Registration(IEnumerable <RegistrationDefinition> definitions) { foreach (var definition in definitions) { IReuse reuse = null; switch (definition.RegistrationLifestyle) { case RegistrationLifestyle.Singleton: reuse = new SingletonReuse(); break; case RegistrationLifestyle.SingletonPerScope: reuse = new CurrentScopeReuse(); break; } PropertiesAndFieldsSelector madeOf = null; if (definition.MemberInjectionList != null) { madeOf = PropertiesAndFields.Of; foreach (var injectionInfo in definition.MemberInjectionList) { switch (injectionInfo.InjectionType) { case MemberInjectionType.Field: case MemberInjectionType.Property: madeOf = madeOf.Name(injectionInfo.MemberName); break; case MemberInjectionType.Method: throw new NotSupportedException(); } } } _container.Register(definition.ExportType, definition.ActivationType, reuse, madeOf); } }
// typeof(IocPerformance.Classes.Complex.IComplex1) internal static object Create_17(IResolverContext r, IScope scope) { return(new IocPerformance.Classes.Complex.Complex1((IocPerformance.Classes.Complex.FirstService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 53, () => new IocPerformance.Classes.Complex.FirstService()), (IocPerformance.Classes.Complex.SecondService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 54, () => new IocPerformance.Classes.Complex.SecondService()), (IocPerformance.Classes.Complex.ThirdService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 55, () => new IocPerformance.Classes.Complex.ThirdService()), new IocPerformance.Classes.Complex.SubObjectOne((IocPerformance.Classes.Complex.FirstService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 53, () => new IocPerformance.Classes.Complex.FirstService())), new IocPerformance.Classes.Complex.SubObjectTwo((IocPerformance.Classes.Complex.SecondService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 54, () => new IocPerformance.Classes.Complex.SecondService())), new IocPerformance.Classes.Complex.SubObjectThree((IocPerformance.Classes.Complex.ThirdService)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 55, () => new IocPerformance.Classes.Complex.ThirdService())))); }
// typeof(IocPerformance.Classes.Standard.ISingleton2) internal static object Create_14(IResolverContext r, IScope scope) { return(SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 39, () => new IocPerformance.Classes.Standard.Singleton2())); }
// typeof(IocPerformance.Classes.Standard.ICombined3) internal static object Create_13(IResolverContext r, IScope scope) { return(new IocPerformance.Classes.Standard.Combined3((IocPerformance.Classes.Standard.Singleton3)SingletonReuse.GetOrAddItem(r.SingletonScope(), false, 40, () => new IocPerformance.Classes.Standard.Singleton3()), new IocPerformance.Classes.Standard.Transient3())); }