示例#1
0
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var methods = constructors.TryToObtainPublicStaticFactoryMethodWithoutRecursion();

            if (!methods.Any())
            {
                return(_next.RetrieveFrom(constructors));
            }
            return(methods);
        }
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var constructorList = constructors.TryToObtainPublicConstructorsWithRecursiveArguments();

            if (constructorList.Any())
            {
                return(constructorList.ToList());
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var foundConstructors = constructors.TryToObtainInternalConstructorsWithRecursiveArguments();

            if (foundConstructors.Any())
            {
                return(foundConstructors.ToArray());
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
示例#4
0
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var internalConstructors = constructors.GetInternalConstructorsWithoutRecursiveParameters();

            if (internalConstructors.Any())
            {
                return(internalConstructors);
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
示例#5
0
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var constructor = constructors.GetNonPublicParameterlessConstructorInfo();

            if (constructor.HasValue)
            {
                return(new List <ICreateObjects> {
                    constructor.Value()
                });
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
示例#6
0
 public IEnumerable <ICreateObjects> GetAllPublicConstructors()
 {
     return(_constructorRetrieval.RetrieveFrom(this));
 }