Пример #1
0
        internal static VSITEMEX GetParentItemEx(this VSITEMEX vsItemEx, bool bForce = false)
        {
            if (!bForce && vsItemEx.vsParentItem != null)
            {
                return(vsItemEx.vsParentItem);
            }
            VSITEMEX vsParentItem = null;
            uint     parentId     = vsItemEx.GetParentID();

            if (parentId == VSConstants.VSITEMID_NIL)
            {
                vsItemEx.vsParentItem = null;
                return(null);
            }
            uint         parentHierId = vsItemEx.GetParentHierarchyID();
            IVsHierarchy vsParent     = vsItemEx.GetParentHierarchy();

            if (vsParent == null)
            {
                return(null);
            }
            vsParentItem = new VSITEMEX(vsParent, parentId);
            vsParentItem.GetCanonicalName();
            vsItemEx.vsParentItem = vsParentItem;
            return(vsParentItem);
        }
Пример #2
0
        public static IVsSolution GetParentSolution(VSITEMEX vsItemEx)
        {
            IVsSolution vsSolution = null;

            if (!VSITEMEX.IsItemIDReal(vsItemEx.itemid))
            {
                vsItemEx.ParseCanonical();
            }
            IVsHierarchy vsParentHier = vsItemEx.GetParentHierarchy();

            if (vsParentHier is IVsSolution)
            {
                vsSolution = vsParentHier as IVsSolution;
            }
            return(vsSolution);
        }