Partager via


ProvideObjectAttribute, classe

Informe à Visual Studio que le VSPackage fournit un objet qui peut être créé de l'interface d'ILocalRegistry.Cette classe ne peut pas être héritée.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Shell
Assembly :  Microsoft.VisualStudio.Shell.11.0 (dans Microsoft.VisualStudio.Shell.11.0.dll)

Syntaxe

'Déclaration
<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

Le type ProvideObjectAttribute expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique ProvideObjectAttribute Ce constructeur crée un nouvel objet d'ProvideObjectAttribute avec le type d'objet donné.

Début

Propriétés

  Nom Description
Propriété publique ObjectType La propriété d'ObjectType retourne le type d'objet défini dans le constructeur.
Propriété publique RegisterUsing Obtient ou définit la méthode d'inscription.
Propriété publique TypeId Obtient l'instance actuel de cet attribut. (Hérité de RegistrationAttribute.)

Début

Méthodes

  Nom Description
Méthode publique Equals Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Retourne le code de hachage de cette instance. (Hérité de Attribute.)
Méthode protégée GetPackageRegKeyPath Obtient le chemin d'accès au Registre (par rapport à la racine de Registre de l'application) du VSPackage. (Hérité de RegistrationAttribute.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique IsDefaultAttribute En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publique Match En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique Register Fournit les informations d'inscription sur un VSPackage une fois appelé par un outil externe d'alignement tel que regpkg.exe.Pour plus d'informations, consultez Stocker les VSPackages. (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Méthode publique Unregister Supprime les informations d'inscription sur un VSPackage une fois appelé par un outil externe d'alignement tel que regpkg.exe.Pour plus d'informations, consultez Stocker les VSPackages. (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée _Attribute.GetIDsOfNames Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfo Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.GetTypeInfoCount Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée _Attribute.Invoke Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)

Début

Remarques

Lorsque appeler

Appliquez-vous l'attribut d'ProvideObjectAttribute à votre Microsoft.VisualStudio.Package - classe dérivée s'il fournit un objet qui peut être créé de l'interface d'ILocalRegistry.

Utilisation de base

La classe d'ProvideObjectAttribute informe à Visual Studio qu'elle fournit un objet qui peut être créé de l'interface d'ILocalRegistry.Utilisez toujours cet attribut plutôt qu'en enregistrant des objets globalement sous la section de HKEY_CLASSES_ROOT\CLSID du Registre.Utilisez ProvideObjectAttribute, pour modifier Microsoft.VisualStudio.Package - classe dérivée, ou une classe qui implémente IVsPackage.

Cette classe d'attributs est seulement utilisée pour fournir des données pour les outils externes d'alignement comme regpkg.exe.Elle n'a aucun effet sur le comportement à l'exécution du VSPackage.Pour plus d'informations, consultez Stocker les VSPackages.

[!REMARQUE]

Le C- ajoute automatiquement le mot « attribut » au nom de toute classe d'attributs.Dans le code C-, reportez -vous à cet attribut comme ProvideObject.

Entrées du Registre

  • Les entrées du Registre suivantes sont créées par la classe d'ProvideObjectAttribute :

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

Exemples

Vous pouvez rechercher des implémentations de la classe d'ProvideObjectAttribute dans les exemples managés.L'emplacement standard pour cela et toutes les autres l'attribue utilisé pour l'alignement automatique est en regard de l'implémentation de la classe d'Microsoft.VisualStudio.Package dans VsPkg.cs, VsPkg.vb, ou VsPkg.cpp, selon le langage utilisé dans l'exemple.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Shell, espace de noms