Classe ProvideObjectAttribute

Notifica a Visual Studio che il package VS fornisce un oggetto che può essere creato dall'interfaccia di ILocalRegistry.questa classe non può essere ereditata.

Gerarchia di ereditarietà

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.ProvideObjectAttribute

Spazio dei nomi:  Microsoft.VisualStudio.Shell
Assembly:  Microsoft.VisualStudio.Shell.11.0 (in Microsoft.VisualStudio.Shell.11.0.dll)

Sintassi

'Dichiarazione
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideObjectAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideObjectAttribute : RegistrationAttribute

Il tipo ProvideObjectAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideObjectAttribute Questo costruttore viene creato un nuovo oggetto di ProvideObjectAttribute con il tipo di oggetto specificato.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica ObjectType La proprietà di ObjectType restituisce il tipo di oggetto impostato nel costruttore.
Proprietà pubblica RegisterUsing Ottiene o imposta il metodo di registrazione.
Proprietà pubblica TypeId Ottiene l'istanza corrente dell'attributo. (Ereditato da RegistrationAttribute)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da Attribute)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IsDefaultAttribute Una volta sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute)
Metodo pubblico Match Una volta sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico Register Vengono fornite informazioni di registrazione su un VSPackage una volta chiamato da uno strumento esterno di registrazione come regpkg.exe.Per ulteriori informazioni, vedere Registrare package VS.. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Unregister Rimuove le informazioni di registrazione su un VSPackage una volta chiamato da uno strumento esterno di registrazione come regpkg.exe.Per ulteriori informazioni, vedere Registrare package VS.. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetIDsOfNames Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfo Recupera le informazioni sui tipi per un oggetto, che può essere utilizzato per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto garantisce (0 o 1). (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.Invoke Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute)

In alto

Note

Quando eseguire chiamate

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

utilizzo di base

La classe di ProvideObjectAttribute notifica a Visual Studio che fornisce un oggetto che può essere creato dall'interfaccia di ILocalRegistry.Utilizzare sempre questo attributo anziché registrazione degli oggetti globalmente nella sezione di \CLSID HKEY_CLASSES_ROOT del Registro di sistema.Utilizzare ProvideObjectAttribute, per modificare Microsoft.VisualStudio.Packageclasse derivata da, o classe che implementa IVsPackage.

Questa classe Attribute viene utilizzata solo per fornire i dati per strumenti esterni di registrazione come regpkg.exe.Non ha alcun effetto sul comportamento di runtime del package VS.Per ulteriori informazioni, vedere Registrare package VS..

[!NOTA]

C# automaticamente aggiunge la parola “attributo„ al nome di una classe Attribute.Nel codice c#, fare riferimento a questo attributo come ProvideObject.

Voci del Registro di sistema

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

  • <VSROOT> \CLSID\{ObjectGuid}

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

  • <VSROOT> \CLSID\{ObjectGuid}\InprocServer 32=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

Esempi

È possibile trovare le implementazioni della classe di ProvideObjectAttribute negli esempi gestiti.La posizione standard per questa e tutti gli altri attributi utilizzati per la registrazione automatica è adiacente all'implementazione della classe di Microsoft.VisualStudio.Package in VsPkg.cs, VsPkg.vb, o VsPkg.cpp, a seconda del linguaggio utilizzato nell'esempio.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Shell