private void VisitReference(AssemblyReference reference, Dictionary <string, AssemblyReference> referenceMap, List <AssemblyReference> referenceList) { if (reference.Visited) { return; } reference.Visit(); foreach (string dependencyName in reference.Dependencies) { AssemblyReference dependencyReference; if (referenceMap.TryGetValue(dependencyName, out dependencyReference)) { VisitReference(dependencyReference, referenceMap, referenceList); } } referenceList.Add(reference); }
private void VisitReference(AssemblyReference reference, Dictionary<string, AssemblyReference> referenceMap, List<AssemblyReference> referenceList) { if (reference.Visited) { return; } reference.Visit(); foreach (string dependencyName in reference.Dependencies) { AssemblyReference dependencyReference; if (referenceMap.TryGetValue(dependencyName, out dependencyReference)) { VisitReference(dependencyReference, referenceMap, referenceList); } } referenceList.Add(reference); }