protected static IEnumerable<Type> MatchTypes(string wildcard, Assembly assembly) { var regexp = new Wildcard(wildcard); Func<Type, bool> MatchesWildcard = t => regexp.Match(t.FullName).Success; return assembly.GetTypes().Where(t => MatchesWildcard(t) && t.IsSettingsType()); }
static bool IsOfType(Wildcard typeWildcard, object o) { return GetInheritedSettingTypes(o.GetType()).Any(t => typeWildcard.IsMatch(t.Name.ToLower())); }