private static bool FilterConstraintIsSatisfied(ClassTypeConstraintAttribute filter, Type type) { if (filter == null) { return(true); } return(filter.IsConstraintSatisfied(type)); }
/// <summary> /// Filters the types. /// </summary> /// <param name="assembly">The assembly.</param> /// <param name="filter">The filter.</param> /// <param name="output">The output.</param> private static void FilterTypes(Assembly assembly, ClassTypeConstraintAttribute filter, List <Type> output) { foreach (var type in assembly.GetTypes()) { if (!type.IsPublic || !type.IsClass) { continue; } if (filter != null && !filter.IsConstraintSatisfied(type)) { continue; } if (type.GetCustomAttributes(typeof(HideInInspector), true).FirstOrDefault() != null) { continue; } output.Add(type); } }
private static List <Type> GetFilteredAssemblyTypes(Assembly assembly, ClassTypeConstraintAttribute filter) { var types = new List <Type>(); foreach (var type in assembly.GetTypes()) { if (!type.IsVisible || !type.IsClass) { continue; } if (filter != null && !filter.IsConstraintSatisfied(type)) { continue; } types.Add(type); } return(types); }
private static void FilterTypes(Assembly assembly, ClassTypeConstraintAttribute filter, ICollection <Type> excludedTypes, List <Type> output) { foreach (var type in assembly.GetTypes()) { if (!type.IsVisible || !type.IsClass) { continue; } if (filter != null && !filter.IsConstraintSatisfied(type)) { continue; } if (excludedTypes != null && excludedTypes.Contains(type)) { continue; } output.Add(type); } }