private object ExecuteFactory(IDependencyFactoryInfo info, IList <Parameter> parameters) { if (parameters == null || parameters.Count == 0) { return(_dependencyFactory.Resolve(info.CreateContext(Ioc.Container))); } if (TryGetNamedParameters(parameters, out (string, object)[] namedParameters)) { return(_dependencyFactory.Resolve(info.CreateContext(Ioc.Container).SetArguments(namedParameters))); } if (TryGetPositionalParameters(parameters, out object[] positionalParameters))
protected override void OnRegisterFactorySingleton(IDependencyFactoryInfo info, IDependencyFactory factory) { if (info.IsFactoryGeneric()) { } else { foreach (var resolveType in info.ResolvedTypes) { _services.AddSingleton(resolveType, p => factory.Resolve(info.CreateContext(Ioc.Container))); } } base.OnRegisterFactorySingleton(info, factory); }