Partager via


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
Public property Hierarchy Gets the IVsHierarchy representing the outer hierarchy of the item.
Public property IsNestedItem Gets whether this item is a nested item or not.
Public property IsRoot Gets whether the item is the root of its IVsHierarchy.
Public property ItemID Gets the item identifier representing the outer item in the hierarchy.
Public property NestedHierarchy Gets the nested IVsHierarchy representing the inner hierarchy of the item.
Public property 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.

See Also

Reference

Microsoft.VisualStudio.Shell Namespace