public static IEnumerable <Type> FindTypesInAssemblies(Predicate <Type> predicate) { var assemblyParts = ApplicationParts.OfType <AssemblyPart>(); var result = ( from assemblyPart in assemblyParts let assembly = assemblyPart.Assembly select assembly); return(FindTypesInAssemblies(result, predicate)); }
public static Assembly FindAssembyByName(string name) { /* * IEnumerable<AssemblyName> assemblyNames = DependencyContext.Default.GetDefaultAssemblyNames(); * var resultQ = ( * from aName in assemblyNames * where System.String.Compare(name, aName.Name, System.StringComparison.OrdinalIgnoreCase) == 0 * select aName); * var assemblyName = resultQ.FirstOrDefault(); * Assembly assembly = Assembly.Load(assemblyName); * return assembly; */ var assemblyParts = ApplicationParts.OfType <AssemblyPart>(); var result = ( from assemblyPart in assemblyParts let assemblyName = assemblyPart.Assembly.GetName() where System.String.Compare(name, assemblyName.Name, System.StringComparison.OrdinalIgnoreCase) == 0 select assemblyPart.Assembly); return(result.FirstOrDefault()); }