public void DoForEachAssembly(AssemblyAction assemblyAction) { List <IAppDomainInfo> theDomains = new List <IAppDomainInfo>(); this.DoForEachAppDomain( delegate(IAppDomainInfo adi) { theDomains.Add(adi); } ); _WP.Commands.Debugging_Resolve_Assembly[] reply = m_eng.ResolveAllAssemblies(); if (reply != null) { foreach (_WP.Commands.Debugging_Resolve_Assembly resolvedAssm in reply) { AssemblyInfoFromResolveAssembly ai = new AssemblyInfoFromResolveAssembly(resolvedAssm); foreach (IAppDomainInfo adi in theDomains) { if (Array.IndexOf <uint>(adi.AssemblyIndicies, ai.Index) != -1) { ai.AddDomain(adi); } } assemblyAction(ai); } } }
private async Task GetAssembliesAsync() { List <Commands.Debugging_Resolve_Assembly> reply = await Dbg.ResolveAllAssembliesAsync(); if (reply != null) { foreach (Commands.Debugging_Resolve_Assembly resolvedAssm in reply) { AssemblyInfoFromResolveAssembly ai = new AssemblyInfoFromResolveAssembly(resolvedAssm); foreach (IAppDomainInfo adi in m_Domains) { if (Array.IndexOf <uint>(adi.AssemblyIndices, ai.Index) != -1) { ai.AddDomain(adi); } } m_AssemblyInfos.Add(ai); } } }