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));
Exemple #5
0
 private static bool CanSupplyParameter(IBindingRequest request, ParameterInfo parameter) =>
 request.IocService.CanGet(request.CreateSubRequest(parameter).Clone());
Exemple #6
0
 public static object?Run(this IBindingRequest request, object target, string methodName,
                          params object[] paremeters) =>
 request.CreateSubRequest(request.DesiredType, paremeters).Run(target, methodName);
Exemple #7
0
 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");