IVsHierarchyItemIdentity Interface
Contains the information necessary to define an item in an IVsUIHierarchyWindow.
This API is not CLS-compliant.
Namespace: Microsoft.VisualStudio.Shell
Assembly: Microsoft.VisualStudio.Shell.Immutable.11.0 (in Microsoft.VisualStudio.Shell.Immutable.11.0.dll)
Syntax
'Declaration
<CLSCompliantAttribute(False)> _
Public Interface IVsHierarchyItemIdentity
[CLSCompliantAttribute(false)]
public interface IVsHierarchyItemIdentity
[CLSCompliantAttribute(false)]
public interface class IVsHierarchyItemIdentity
[<CLSCompliantAttribute(false)>]
type IVsHierarchyItemIdentity = interface end
public interface IVsHierarchyItemIdentity
The IVsHierarchyItemIdentity type exposes the following members.
Properties
Name | Description | |
---|---|---|
Hierarchy | Gets the IVsHierarchy representing the outer hierarchy of the item. | |
IsNestedItem | Gets whether this item is a nested item or not. | |
IsRoot | Gets whether the item is the root of its IVsHierarchy. | |
ItemID | Gets the item identifier representing the outer item in the hierarchy. | |
NestedHierarchy | Gets the nested IVsHierarchy representing the inner hierarchy of the item. | |
NestedItemID | Gets the item identifier representing the inner item in the NestedHierarchy. |
Top
Remarks
For items that belong to only a single IVsHierarchy, the IsNestedItem property will be false, and both the Hierarchy / ItemID and NestedHierarchy / NestedItemID pairs will be equal. For a nested item, the Hierarchy / ItemID pair represent the “outer” (nearest-to-the-root) pair, and the NestedHierarchy / NestedItemID pair represent the “nested” (child) pair.
A single item in the Solution Explorer (for example, a C# project node) can actually be composed of two different IVsHierarchy implementations with two different item identifiers. As a specific example, the “solution” is an IVsHierarchy representing the “tree” of items in the solution, but the solution’s IVsHierarchy does not know about the content of projects. A specific C# project in the solution is also a separate IVsHierarchy. The node representing the project itself might be node #50 in the IVsHierarchy for the solution, and node VSITEMID_ROOT in the IVsHierarchy for the project. IVsHierarchyItemIdentity and IVsHierarchyItem bind together these two different IVsHierarchy and item identifiers into a single concept.