// Token: 0x06000018 RID: 24 RVA: 0x00002B2C File Offset: 0x00000D2C private static void UnNest(Project parent, ProjectItem childItem) { foreach (ProjectItem childItem2 in childItem.ProjectItems.OfType <ProjectItem>()) { WorkerLogic.UnNest(parent, childItem2); } object value = childItem.Properties.Item("ItemType").Value; string text = childItem.get_FileNames(0); string tempFileName = Path.GetTempFileName(); File.Copy(text, tempFileName, true); childItem.Delete(); File.Copy(tempFileName, text); File.Delete(tempFileName); ProjectItem projectItem = parent.ProjectItems.AddFromFile(text); projectItem.Properties.Item("ItemType").Value = value; }
// Token: 0x06000017 RID: 23 RVA: 0x000029B8 File Offset: 0x00000BB8 public void UnNest() { ProjectItem[] source = (from si in this.envDte.SelectedItems.OfType <SelectedItem>() select si.ProjectItem).ToArray <ProjectItem>(); string[] selectedNames = (from pi in source select pi.Name).ToArray <string>(); ProjectItem[] source2 = (from pi in source where pi.ProjectItems.OfType <ProjectItem>().Any((ProjectItem child) => selectedNames.Contains(child.Name)) select pi).ToArray <ProjectItem>(); Dictionary <ProjectItem, IEnumerable <ProjectItem> > dictionary = source2.ToDictionary((ProjectItem r) => r, (ProjectItem r) => from pi in r.ProjectItems.OfType <ProjectItem>() where selectedNames.Contains(pi.Name) select pi); foreach (KeyValuePair <ProjectItem, IEnumerable <ProjectItem> > keyValuePair in dictionary) { foreach (ProjectItem childItem in keyValuePair.Value) { WorkerLogic.UnNest(keyValuePair.Key.ContainingProject, childItem); } } }