private void IncludeAdditionalAssemblies(ICollection <Assembly> typeRelatedAssemblies) { foreach (string assemblyName in _constraints.IncludeAdditionalAssemblies) { var additionalAssembly = TypeCollector.TryLoadAssembly(assemblyName); if (additionalAssembly == null) { continue; } if (!typeRelatedAssemblies.Contains(additionalAssembly)) { typeRelatedAssemblies.Add(additionalAssembly); } } }
private SortedList <string, Type> GetFilteredTypes() { var typeRelatedAssemblies = TypeCollector.GetAssembliesTypeHasAccessTo(_declaringType); if (_constraints?.IncludeAdditionalAssemblies != null) { IncludeAdditionalAssemblies(typeRelatedAssemblies); } var filteredTypes = TypeCollector.GetFilteredTypesFromAssemblies( typeRelatedAssemblies, _constraints); var sortedTypes = new SortedList <string, Type>(filteredTypes.ToDictionary(type => type.FullName)); return(sortedTypes); }