public ConventionFilterTypesBinder WithSuffix(string suffix)
 {
     BindInfo.AddTypeFilter(t => t.Name.EndsWith(suffix));
     return(this);
 }
 public ConventionFilterTypesBinder Where(Func <Type, bool> predicate)
 {
     BindInfo.AddTypeFilter(predicate);
     return(this);
 }
 public ConventionFilterTypesBinder InNamespaces(IEnumerable <string> namespaces)
 {
     BindInfo.AddTypeFilter(t => namespaces.Any(n => IsInNamespace(t, n)));
     return(this);
 }
 public ConventionFilterTypesBinder WithAttributeWhere <T>(Func <T, bool> predicate)
     where T : Attribute
 {
     BindInfo.AddTypeFilter(t => t.HasAttribute <T>() && t.AllAttributes <T>().All(predicate));
     return(this);
 }
 public ConventionFilterTypesBinder WithoutAttribute(Type attribute)
 {
     Assert.That(attribute.DerivesFrom <Attribute>());
     BindInfo.AddTypeFilter(t => !t.HasAttribute(attribute));
     return(this);
 }
 public ConventionFilterTypesBinder DerivingFrom(Type parentType)
 {
     BindInfo.AddTypeFilter(type => type.DerivesFrom(parentType));
     return(this);
 }
 public ConventionFilterTypesBinder MatchingRegex(Regex regex)
 {
     BindInfo.AddTypeFilter(t => regex.IsMatch(t.Name));
     return(this);
 }
 public ConventionFilterTypesBinder WithPrefix(string prefix)
 {
     BindInfo.AddTypeFilter(t => t.Name.StartsWith(prefix));
     return(this);
 }