Condividi tramite


ProvideObjectAttribute Classe

Definizione

Informa Visual Studio che VSPackage fornisce un oggetto che può essere creato dall'interfaccia ILocalRegistry. La classe non può essere ereditata.

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
Ereditarietà
ProvideObjectAttribute
Attributi

Esempio

È possibile trovare implementazioni della ProvideObjectAttribute classe negli esempi gestiti. Il percorso standard per questo e tutti gli altri attributi usati per la Microsoft.VisualStudio.Package registrazione automatica sono adiacenti all'implementazione della classe in VsPkg.cs, VsPkg.vb o VsPkg.cpp, a seconda della lingua utilizzata nell'esempio.

Commenti

Quando chiamare

Applicare l'attributo ProvideObjectAttribute alla Microsoft.VisualStudio.Packageclasse derivata se fornisce un oggetto che può essere creato dall'interfaccia ILocalRegistry.

Utilizzo di base

La ProvideObjectAttribute classe informa Visual Studio che fornisce un oggetto che può essere creato dall'interfaccia ILocalRegistry. Usare sempre questo attributo anziché registrare oggetti a livello globale nella sezione HKEY_CLASSES_ROOT\CLSID del Registro di sistema. Usare , ProvideObjectAttributeper modificare una classe derivata o una Microsoft.VisualStudio.Packageclasse che implementa IVsPackage.

Questa classe di attributi viene usata solo per fornire dati per strumenti di registrazione esterni come regpkg.exe. Non ha alcun effetto sul comportamento in fase di esecuzione del VSPackage. Per altre informazioni, vedere Registrazione di VSPackage.

Nota

C# aggiunge automaticamente la parola "Attributo" al nome di qualsiasi classe di attributo. Nel codice C# fare riferimento a questo attributo come ProvideObject.

Voci del Registro di sistema

  • Le voci del ProvideObjectAttribute Registro di sistema seguenti vengono create dalla classe:

  • <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=Entrambi

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

Costruttori

ProvideObjectAttribute(Type)

Questo costruttore crea un nuovo oggetto ProvideObjectAttribute con il tipo di oggetto specificato.

Proprietà

ObjectType

La proprietà ObjectType restituisce il tipo di oggetto impostato nel costruttore.

RegisterUsing

Selezionare tra specificare la voce Codebase o la voce Assembly nel Registro di sistema. Questo può essere sottoposto a override durante la registrazione

TypeId

Eseguire l'override della proprietà TypeID per consentire alle classi derivate di RegistrationAttribute di funzionare con System.ComponentModel.TypeDescriptor.GetAttributes(...). Un attributo derivato da questo elemento dovrà eseguire l'override di questa proprietà solo se necessita di un controllo migliore sulle istanze che possono essere applicate a una classe.

(Ereditato da RegistrationAttribute)

Metodi

GetPackageRegKeyPath(Guid)

Ottiene il percorso del Registro di sistema (relativo alla radice del Registro di sistema dell'applicazione) del pacchetto VS.

(Ereditato da RegistrationAttribute)
Register(RegistrationAttribute+RegistrationContext)

Fornisce informazioni di registrazione su un pacchetto VSPackage quando viene chiamato da uno strumento di registrazione esterno, ad esempio regpkg.exe. Per altre informazioni, vedere Registrazione di VSPackage.

Unregister(RegistrationAttribute+RegistrationContext)

Annulla la registrazione di questo attributo.

Si applica a