Exemplo n.º 1
0
        private static EnvDTE.UIHierarchyItem?FindFirstItemRecursively(
            EnvDTE.UIHierarchyItems currentItems,
            string itemName)
        {
            if (currentItems == null)
            {
                return(null);
            }

            foreach (var item in currentItems.Cast <EnvDTE.UIHierarchyItem>())
            {
                if (item.Name == itemName)
                {
                    return(item);
                }

                var result = FindFirstItemRecursively(item.UIHierarchyItems, itemName);
                if (result != null)
                {
                    return(result);
                }
            }

            return(null);
        }
Exemplo n.º 2
0
        private static EnvDTE.UIHierarchyItem?FindItemAtPath(
            EnvDTE.UIHierarchyItems currentItems,
            string[] path)
        {
            EnvDTE.UIHierarchyItem?item = null;
            foreach (var name in path)
            {
                item = currentItems.Cast <EnvDTE.UIHierarchyItem>().FirstOrDefault(i => i.Name == name);

                if (item == null)
                {
                    return(null);
                }

                currentItems = item.UIHierarchyItems;
            }

            return(item);
        }