Sdílet prostřednictvím


ProvideObjectAttribute Třída

Definice

Informuje Visual Studio, že VSPackage poskytuje objekt, který lze vytvořit z ILocalRegistryrozhraní. Tato třída se nemůže dědit.

public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideObjectAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideObjectAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideObjectAttribute = class
    inherit RegistrationAttribute
Public NotInheritable Class ProvideObjectAttribute
Inherits RegistrationAttribute
Dědičnost
ProvideObjectAttribute
Atributy

Příklady

Implementace třídy najdete ve ProvideObjectAttribute spravovaných ukázkách. Standardní umístění pro tento a všechny ostatní atributy použité pro automatickou registraci je v závislosti na jazyce použitém v ukázce vedle implementace Microsoft.VisualStudio.Package třídy v VsPkg.cs, VsPkg.vb nebo VsPkg.cpp.

Poznámky

Kdy volat

ProvideObjectAttribute Použít atribut na -Microsoft.VisualStudio.Packageodvozenou třídu, pokud poskytuje objekt, který lze vytvořit z ILocalRegistryrozhraní.

Základní využití

Třída ProvideObjectAttribute informuje Visual Studio, že poskytuje objekt, který lze vytvořit z ILocalRegistryrozhraní. Tento atribut vždy používejte místo globální registrace objektů v části registru HKEY_CLASSES_ROOT\CLSID. ProvideObjectAttributeK úpravě Microsoft.VisualStudio.Packageodvozené třídy nebo třídy, která implementuje IVsPackage, použijte .

Tato třída atributu se používá pouze k poskytování dat pro externí registrační nástroje, jako je regpkg.exe. Nemá žádný vliv na chování sady VSPackage za běhu. Další informace najdete v tématu Registrace balíčků VSPackages.

Poznámka

Jazyk C# automaticky připojí slovo "Atribut" k názvu libovolné třídy atributu. V kódu jazyka C# tento atribut označte jako ProvideObject.

Položky registru

  • Třída vytváří ProvideObjectAttribute následující položky registru:

  • <VSROOT>\CLSID\{ObjectGuid}

  • <VSROOT>\CLSID\{ObjectGuid}\@=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\InprocServer32=mscoree.dll

  • <VSROOT>\CLSID\{ObjectGuid}\Class=ObjectType.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\Assembly=ObjectType.Assembly.FullName

  • <VSROOT>\CLSID\{ObjectGuid}\ThreadingModel=Both

  • <VSROOT>\CLSID\{PackageGuid}\CodeBase=context. Codebase

Konstruktory

ProvideObjectAttribute(Type)

Tento konstruktor vytvoří nový ProvideObjectAttribute objekt s daným typem objektu.

Vlastnosti

ObjectType

Vlastnost ObjectType vrátí typ objektu nastavený v konstruktoru.

RegisterUsing

Vyberte mezi zadáním položky základu kódu nebo položky Sestavení v registru. Toto může být přepsáno během registrace.

TypeId

Přepište vlastnost TypeID, aby mohly odvozené třídy RegistrationAttribute pracovat s System.ComponentModel.TypeDescriptor.GetAttributes(...). Atribut odvozený z tohoto bude muset přepsat tuto vlastnost pouze v případě, že potřebuje lepší kontrolu nad instancemi, které lze použít na třídu.

(Zděděno od RegistrationAttribute)

Metody

GetPackageRegKeyPath(Guid)

Získá cestu registru (vzhledem k kořenovému adresáři registru aplikace) VSPackage.

(Zděděno od RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Poskytuje informace o registraci balíčku VSPackage při zavolání externím registračním nástrojem, jako je například regpkg.exe. Další informace najdete v tématu Registrace balíčků VSPackages.

Unregister(RegistrationAttribute+RegistrationContext)

Zruší registraci tohoto atributu.

Platí pro