public override object Get(IDependencyResolver resolver) { if (_alreadyInvoke) { throw new CyclicDependencyException(FactoryStack); } FactoryStack.Push(this); _alreadyInvoke = true; object instance = _resolvableInstantiator.ResolveAndReject(resolver, null); IResolvableInjectable <object, object, object>[] resolvableInjectables = _resolvableMembersProvider?.ForType(instance.GetType()).ToArray(); if (resolvableInjectables != null) { foreach (IResolvableInjectable <object, object, object> resolvableMember in resolvableInjectables) { resolvableMember.TryResolveAndInject(resolver, instance); } } _alreadyInvoke = false; FactoryStack.Pop(); return(instance); }