public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors) { var methods = constructors.TryToObtainPublicStaticFactoryMethodWithoutRecursion(); if (methods.Count() == 0) { 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)); } }
public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors) { var methods = constructors.TryToObtainPrivateAndProtectedConstructorsWithoutRecursiveArguments(); if (methods.Any()) { return(methods); } else { return(_next.RetrieveFrom(constructors)); } }
public IEnumerable <IConstructorWrapper> RetrieveFrom(IConstructorQueries constructors) { var publicConstructors = constructors.TryToObtainPublicConstructorsWithoutRecursiveArguments(); if (publicConstructors.Any()) { return(publicConstructors); } 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 <IConstructorWrapper> GetAllPublicConstructors() { return(_constructorRetrieval.RetrieveFrom(this)); }