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