public DelegateInvocation(IKernel kernel, ITypedFactoryComponentSelector selector, MethodInfo invoke, Type serviceType) { this.kernel = kernel; this.selector = selector; this.invoke = invoke; this.serviceType = serviceType; }
public void SelectedWith(ITypedFactoryComponentSelector selector) { if (selector == null) { throw new ArgumentNullException("selector"); } selectorReference = new InstanceReference <ITypedFactoryComponentSelector>(selector); }
public TypedFactoryInterceptor(IKernelInternal kernel, ITypedFactoryComponentSelector componentSelector) { ComponentSelector = componentSelector; this.kernel = kernel; scope = kernel.ReleasePolicy.CreateSubPolicy(); }
public Resolve(IKernel kernel, ITypedFactoryComponentSelector selector) { this.kernel = kernel; this.selector = selector; }
public TypedFactoryInterceptor(IKernel kernel, ITypedFactoryComponentSelector componentSelector) { ComponentSelector = componentSelector; this.kernel = kernel; }
public Resolve(IKernel kernel, ITypedFactoryComponentSelector selector, Action<object> trackComponentCallback) { this.kernel = kernel; this.selector = selector; this.trackComponentCallback = trackComponentCallback; }
public TypedFactoryInterceptor(IKernel parent, ITypedFactoryComponentSelector componentSelector) { ComponentSelector = componentSelector; kernel = new DefaultKernel(); parent.AddChildKernel(kernel); }
/// <summary> /// Marks the component as typed factory. /// </summary> /// <typeparam name = "TFactoryInterface"></typeparam> /// <param name = "registration"></param> /// <param name = "selector">The <see cref = "ITypedFactoryComponentSelector" /> instance to be used for this factory</param> /// <returns></returns> /// <remarks> /// Only interfaces and delegates are legal to use as typed factories. Methods with out parameters are not allowed. /// When registering component as typed factory no implementation should be provided (in case there is any it will be ignored). /// Typed factories rely on <see cref = "IInterceptorSelector" /> set internally, so users should not set interceptor selectors explicitly; /// otherwise the factory will not function correctly. /// </remarks> public static ComponentRegistration <TFactoryInterface> AsFactory <TFactoryInterface>( this ComponentRegistration <TFactoryInterface> registration, ITypedFactoryComponentSelector selector) where TFactoryInterface : class { return(AsFactory(registration, x => x.SelectedWith(selector))); }