public Type[] FindTypes(TypeFilter filter, object filterCriteria) { List<Type> list = new List<Type>(); foreach (Type type in GetTypes()) { if (filter(type, filterCriteria)) { list.Add(type); } } return list.ToArray(); }