public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors)
        {
            var methods = constructors.TryToObtainPublicStaticFactoryMethodWithoutRecursion();

            if (methods.Count() == 0)
            {
                return(_next.RetrieveFrom(constructors));
            }
            return(methods);
        }
示例#2
0
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var methods = constructors.TryToObtainPublicStaticFactoryMethodWithoutRecursion();

            if (!methods.Any())
            {
                return(_next.RetrieveFrom(constructors));
            }
            return(methods);
        }
        public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors)
        {
            var foundConstructors = constructors.TryToObtainInternalConstructorsWithRecursiveArguments();

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

            if (methods.Any())
            {
                return(methods);
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
示例#5
0
        public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors)
        {
            var publicConstructors = constructors.TryToObtainPublicConstructorsWithoutRecursiveArguments();

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

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

            if (internalConstructors.Any())
            {
                return(internalConstructors);
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
    public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors)
    {
        var constructor = constructors.GetNonPublicParameterlessConstructorInfo();

        if (constructor.HasValue)
        {
            return(new List <IConstructorWrapper> {
                constructor.Value()
            });
        }
        else
        {
            return(_next.RetrieveFrom(constructors));
        }
    }
        public IEnumerable <ICreateObjects> RetrieveFrom(IConstructorQueries constructors)
        {
            var constructor = constructors.GetPublicParameterlessConstructor();

            if (constructor.HasValue)
            {
                return(new List <ICreateObjects> {
                    constructor.Value()
                });
            }
            else
            {
                return(_next.RetrieveFrom(constructors));
            }
        }
示例#10
0
 public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors)
 {
     return(constructors.TryToObtainPrimitiveTypeConstructor());
 }