コード例 #1
0
        // 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;
        }
コード例 #2
0
        // 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);
                }
            }
        }