IVsHierarchy Arabirim

Tanım

Proje hiyerarşileri uygulayan VSPackages için hiyerarşi yönetimi sağlar.

public interface class IVsHierarchy
public interface class IVsHierarchy
__interface IVsHierarchy
[System.Runtime.InteropServices.ComConversionLoss]
[System.Runtime.InteropServices.Guid("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsHierarchy
[<System.Runtime.InteropServices.ComConversionLoss>]
[<System.Runtime.InteropServices.Guid("59B2D1D0-5DB0-4F9F-9609-13F0168516D6")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsHierarchy = interface
Public Interface IVsHierarchy
Türetilmiş
Öznitelikler

Açıklamalar

IVsHierarchyArabirim, bir düğüm hiyerarşisinin genel arabirimidir. Kök düğüm dahil olmak üzere her düğüm, onunla ilişkili rastgele özelliklere sahip olabilir. Hiyerarşi nesnesindeki her düğüm, belirli bir düğümü gösteren bir tanımlama bilgisi () kullanılarak tanımlanır VSITEMID . Bu tanımlama bilgisi, IVsHierarchy TÜKETİCİSİNDE görünmez ve genellikle hiyerarşinin uygulamasıyla korunan bazı özel verilere yönelik bir işaretçidir.

VSITEMID, Bir DWORD hiyerarşi içindeki bir düğümü benzersiz bir şekilde tanımlar. Birinden ItemId 'ler IVsHierarchy başka bir hiyerarşiye geçirilmeyebilir. Ayrıca, hiyerarşide, hiyerarşi tarafından tetiklenen olaylar tarafından belirtildiği gibi sınırlı bir yaşam süresi olduğunu unutmayın. bu nedenle, uzun süreler için yan yana, bu olayların veya öğe sayısının kurallı, kalıcı bir forma dönüştürülmesi gerekir.

Hiyerarşideki bir öğe bir yaprak düğüm, diğer öğelerin kapsayıcısı veya kullanılarak başka bir hiyerarşiye bağlantı olabilir GetNestedHierarchy .

IVsHierarchyArabirim yalnızca proje hiyerarşileri için kullanılmaz. Örneğin, Sunucu Gezgini pencere, IVsHierarchy bir proje hiyerarşisi olmayan hiyerarşisini göstermek için arabirimini uygular.

Hiyerarşinin kendisi veya hiyerarşi içindeki seçili düğümler gibi çeşitli sanal düğümlerle ilgili bir hiyerarşiyi sorgulamak için faydalı olduğu durumlar vardır. Böyle sanal düğümlerin potansiyel olarak ilgilendiği durumlarda, önceden tanımlanmış değerlerden biri VSITEMID geçirilebilir.

Ortam bir projeyi hiyerarşi olarak, diğer bir deyişle, düğümlerin proje öğeleri olduğu düğüm ağacını görüntüler. Her düğüm Ayrıca bir ilişkili özellikler kümesine sahiptir ve proje hiyerarşilerini uygulayan VSPackages için hiyerarşi yönetimi sağlar.

Uygulayanlara Notlar

Kendi proje hiyerarşisini oluşturan VSPackages tarafından uygulanır.

Arayanlara Notlar

Hiyerarşi özelliklerini almak ve ayarlamak için ortam tarafından çağırılır.

Yöntemler

AdviseHierarchyEvents(IVsHierarchyEvents, UInt32)

Hiyerarşi olayları için uygulama hiyerarşisi olmadan istemci bildirimi oluşturur IConnectionPointContainer .

Close()

Ortam artık kullanılmadığını belirlediğinde, bir hiyerarşiyi kapatır ve temizler.

GetCanonicalName(UInt32, String)

Hiyerarşideki bir öğe için benzersiz bir dize adı döndürür. Pencere konumlarını hatırlama gibi çalışma alanı kalıcılığı için kullanılır.

GetGuidProperty(UInt32, Int32, Guid)

Değerleri GUID olan özellikleri alır.

GetNestedHierarchy(UInt32, Guid, IntPtr, UInt32)

Belirli bir hiyerarşinin düğümünün başka bir hiyerarşinin ortasında kısayol olmasını mümkün kılar.

GetProperty(UInt32, Int32, Object)

Belirli bir düğümün veya hiyerarşinin özelliklerini alır.

GetSite(IServiceProvider)

Hizmetlere erişebilecek hizmet sağlayıcısını alır.

ParseCanonicalName(String, UInt32)

Kurallı adı verilen hiyerarşi öğesinin tanımlayıcısını döndürür.

QueryClose(Int32)

Verilen hiyerarşinin kapatılıp kapatılamayacağını belirler.

SetGuidProperty(UInt32, Int32, Guid)

Değerleri GUID olan özellikleri ayarlar.

SetProperty(UInt32, Int32, Object)

Belirli bir düğümün veya hiyerarşinin özelliklerini ayarlar.

SetSite(IServiceProvider)

Hizmetlere erişmek için hizmet sağlayıcıyı ayarlar.

UnadviseHierarchyEvents(UInt32)

Hiyerarşinin uygulanması gerekmeden hiyerarşi olaylarının istemci bildirimini devre dışı bırakır IConnectionPointContainer .

Unused0()

İkili uyumluluğu yeniden derlemeden veya bozmadan yeni yöntemler ekler.

Unused1()

İkili uyumluluğu yeniden derlemeden veya bozmadan yeni yöntemler ekler.

Unused2()

İkili uyumluluğu yeniden derlemeden veya bozmadan yeni yöntemler ekler.

Unused3()

İkili uyumluluğu yeniden derlemeden veya bozmadan yeni yöntemler ekler.

Unused4()

İkili uyumluluğu yeniden derlemeden veya bozmadan yeni yöntemler ekler.

Uzantı Metotları

IsCapabilityMatch(IVsHierarchy, String)

Belirli bir projenin bir AppliesTo ifadesinde önceden tanımlanmış gereksinimlere uyup uymadığını denetler.

EnumImportingProjects(IVsHierarchy)

Verilen paylaşılan proje hiyerarşisine ait paylaşılan varlıkları içeri aktaran tüm projeleri numaralandırır.

EnumOwningProjectsOfSharedAssets(IVsHierarchy)

Belirtilen proje tarafından içeri aktarılan paylaşılan varlıkları sahip ve bunları yöneten tüm paylaşılan projeleri numaralandırır.

GetActiveProjectContext(IVsHierarchy)

Etkin proje bağlamını alır.

GetSharedItemsImportFullPaths(IVsHierarchy)

Belirtilen proje tarafından içeri aktarılan paylaşılan ". projıtems" dosyalarının tam yollarını alır.

IsProjectImportingSharedAssets(IVsHierarchy)

Verilen proje paylaşılan varlıkları içeri aktarıyor mu?

IsSharedAssetsProject(IVsHierarchy)

Belirtilen proje paylaşılan bir proje mi?

SetActiveProjectContext(IVsHierarchy, IVsHierarchy)

Etkin proje bağlamını ayarlar.

Şunlara uygulanır