Partager via


DesignSurfaceExtensionAttribute, classe

Informe l'environnement de Visual Studio qu'un VSPackage fournit Type implémentant un service pour personnaliser ou étendre des services fournis par toute implémentation d'DesignSurface au moment de le chargement concepteur.

Hiérarchie d'héritage

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Shell.Design.DesignSurfaceExtensionAttribute

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

Syntaxe

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

Le type DesignSurfaceExtensionAttribute expose les membres suivants.

Constructeurs

  Nom Description
Méthode publique DesignSurfaceExtensionAttribute Crée une nouvelle instance de la classe d'DesignSurfaceExtensionAttribute spécifiant un objet donné comme fourniture de l'implémentation d'un VSPackage d'DesignSurfaceExtension.

Début

Propriétés

  Nom Description
Propriété publique ExtensionType Type de l'objet s'est enregistré comme fournir un VSPackage une implémentation d'DesignSurfaceExtension pour personnaliser des aires de conception.
Propriété publique LoadAtIdle Contrôles lorsque, par rapport à le chargement d'un générateur utilisé par un VSPackage, les extensions fournies par l'implémentation d'DesignSurfaceExtensionAttribute enregistré par DesignSurfaceExtensionAttribute sont installées.
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 Enregistre l'extension d'aire de conception. (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 la clé de Registre d'extension d'aire de conception. (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

Contexte d'attribut

S'applique à

Les classes fournissant des VSPackages en implémentant IVsPackage interface ou l'interface d'Package.

Reproductible

Non

Attributs requis

Une instance chacune d'ProvideObjectAttribute et d'ProvideServiceAttribute construits avec Type de la classe s'est enregistrée par DesignSurfaceExtensionAttribute en tant qu'implémenter DesignSurfaceExtension.

Attributs valides

Aucun

Cet Attribute spécifie Type comme implémenter un service fournissant la personnalisation ou l'extension des services fournis par toute implémentation d'DesignSurface a utilisé par le VSPackage.

DesignSurfaceExtensionAttribute est seulement utilisé pour l'alignement et n'affecte pas comment code se comporte pendant l'exécution.

Des instances de cet Attribute doit uniquement être appliquées aux classes implémentant Package pour un VSPackage.

Exemples

L'exemple ci-dessous déclare que le VSPackage CustomDesigner, si la classe CustomSurfaceExt pour personnaliser l'aire de conception qu'elle l'utilise.

[ProvideServiceAttribute(typeof(CustomSurfaceExt))]
[ProvideObjectAttribute(typeof(CustomSurfaceExt))]
[DesignSurfaceExtension(typeof(CustomSurfaceExt))] 
class CustomDesigner : Package 

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.Design, espace de noms

DesignSurfaceExtension

DesignSurfaceExtensionAttribute

DesignSurface

IDesigner

IDesignerHost

Autres ressources

Extension de la prise en charge au moment du design