public object?CreateAsyncInitializerFunc(object[] parameters) { var factoryImplementation1 = GetFactoryImplementation(); factoryImplementation1.SetRequest(request.CreateSubRequest(targetObjectType, parameters)); var factoryImplementation = factoryImplementation1; return(asyncInitializerFactory.CreateFuncDelegate(factoryImplementation)); }
private IBindingRequest InnerRequestForCanCreate(IBindingRequest bindingRequest) { var types = functionDelegateType.GetGenericArguments().ToList(); return(bindingRequest.CreateSubRequest(types.Last(), CreateFakeObjectsFromFunctionParameters(types).ToArray())); }
public void Intercept(IInvocation invocation) { var req = factoryRequest.CreateSubRequest(invocation.Method.ReturnType, invocation.Arguments); invocation.ReturnValue = factoryRequest.IocService.Get(req); }
private IActivationStrategy?ResolveInnerType(IBindingRequest bindingRequest) => innerResolver.ApplyResolutionPolicy(bindingRequest.CreateSubRequest(typeToResolve));
private static bool CanSupplyParameter(IBindingRequest request, ParameterInfo parameter) => request.IocService.CanGet(request.CreateSubRequest(parameter).Clone());
public static object?Run(this IBindingRequest request, object target, string methodName, params object[] paremeters) => request.CreateSubRequest(request.DesiredType, paremeters).Run(target, methodName);
public static object?RunStatic(this IBindingRequest request, Type target, string methodName, params object[] parameters) => request.CreateSubRequest(target, parameters).RunStatic(target, methodName);
public object?CreateTargetObject(object[] parameters) => bindingRequest.IocService.Get(bindingRequest.CreateSubRequest(desiredType, parameters)) ?? throw new IocException("Type resolved to null");