public string[] GetClassTypeNames(string[] assemblyPaths, ClassTypeFilter filter) { List <string> typeNames = new List <string>();; Assembly assembly; foreach (string path in assemblyPaths) { assembly = Assembly.LoadFrom(path); foreach (Type type in assembly.GetTypes()) { if (filter != null) { if (filter.FilterType(type)) { typeNames.Add(type.FullName); } } else { typeNames.Add(type.FullName); } } } return(typeNames.ToArray()); }
public Dictionary <string, Type[]> GetTypes(string[] assemblyPaths, ClassTypeFilter filter) { Dictionary <string, Type[]> dictionary = new Dictionary <string, Type[]>(); Type[] types; List <Type> typesList; foreach (string path in assemblyPaths) { Assembly assembly = Assembly.LoadFrom(path); types = assembly.GetTypes(); typesList = new List <Type>(); foreach (Type t in types) { if (filter != null) { if (filter.FilterType(t)) { typesList.Add(t); } } else { typesList.Add(t); } } dictionary.Add(path, typesList.ToArray()); } return(dictionary); }
/// <summary> /// Filter a collection of steel objects by a list of object types /// </summary> /// <param name="steelObjects">List of steel objects</param> /// <param name="objectTypeFilters"> List of accepted Steel Object Types</param> /// <returns name="steelObjects"> gets a filtered list of steel objects that match the list of steel object types</returns> public static List <SteelDbObject> FilterSelectionByType(List <SteelDbObject> steelObjects, List <int> objectTypeFilters) { List <SteelDbObject> retListOfFilteredSteelObjects = new List <SteelDbObject>(); ClassTypeFilter filter = createFilterObject(objectTypeFilters); using (var ctx = new SteelServices.DocContext()) { if (objectTypeFilters.Count > 0) { for (int i = 0; i < steelObjects.Count; i++) { FilerObject objX = Utils.GetObject(steelObjects[i].Handle); if (objX != null) { if (filter.Filter(objX.Type()) != FilerObject.eObjectType.kUnknown) { retListOfFilteredSteelObjects.Add(steelObjects[i]); } } else { throw new System.Exception("No Object return Null during Filtering"); } } } else { throw new System.Exception("No Object Filter List Provided"); } } return(retListOfFilteredSteelObjects); }
private static ClassTypeFilter createFilterObject(List <int> objectFilters) { ClassTypeFilter filter = new ClassTypeFilter(); filter.RejectAllFirst(); for (int i = 0; i < objectFilters.Count; i++) { filter.AppendAcceptedClass((FilerObject.eObjectType)objectFilters[i]); } return(filter); }
public string[] GetClassTypeNames(string assemblyPath, ClassTypeFilter filter) { List <string> typeNames = new List <string>(); AssemblyDef assembly = AssemblyDef.LoadFrom(assemblyPath); foreach (TypeDef type in assembly.GetTypes()) { if (filter != null) { if (filter.FilterType(type)) { typeNames.Add(type.FullName); } } else { typeNames.Add(type.FullName); } } return(typeNames.ToArray()); }
public Type[] GetTypes(string assemblyPath, ClassTypeFilter filter) { Assembly assembly = Assembly.LoadFrom(assemblyPath); Type[] types = assembly.GetTypes(); List <Type> typesList = new List <Type>(); foreach (Type t in types) { if (filter != null) { if (filter.FilterType(t)) { typesList.Add(t); } } else { typesList.Add(t); } } return(typesList.ToArray()); }