Classe DesignSurfaceExtensionAttribute

Notifica l'ambiente di Visual Studio che un VSPackage fornisce Type che implementa un servizio per personalizzare o estendere i servizi forniti da qualsiasi implementazione di DesignSurface durante il caricamento della finestra di progettazione.

Gerarchia di ereditarietà

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

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

Sintassi

'Dichiarazione
<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

Il tipo DesignSurfaceExtensionAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico DesignSurfaceExtensionAttribute Crea una nuova istanza della classe di DesignSurfaceExtensionAttribute che specifica un oggetto specificato come fornire l'implementazione di un VSPackage di DesignSurfaceExtension.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica ExtensionType Type dell'oggetto registrato come fornire un VSPackage un'implementazione di DesignSurfaceExtension per personalizzare le aree di progettazione.
Proprietà pubblica LoadAtIdle Controlli quando, in relazione al caricamento di una finestra di progettazione utilizzata da un package VS, le estensioni fornite dall'implementazione di DesignSurfaceExtensionAttribute registrato da DesignSurfaceExtensionAttribute sono installati.
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 Registra l'estensione dell'area di progettazione. (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 la chiave del Registro di sistema dell'estensione dell'area di progettazione. (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

contesto di attributo

si applica a

Le classi che forniscono Vspackage implementando IVsPackage collegamento o l'interfaccia di Package .

ripetibile

no

attributi obbligatori

Un'istanza di ognuna di ProvideObjectAttribute e di ProvideServiceAttribute costruiti con Type della classe registrata da DesignSurfaceExtensionAttribute come implementare DesignSurfaceExtension.

attributi non validi

nessuno

Questo Attribute specifica Type come implementare un servizio che fornisce la personalizzazione o l'estensione dei servizi forniti da qualsiasi implementazione di DesignSurface utilizzato dal package VS.

DesignSurfaceExtensionAttribute viene utilizzato solo per scopi di registrazione e non influisce sul codice si comporta in fase di esecuzione.

Le istanze di questo Attribute devono essere applicate solo alle classi che implementano Package per un VSPackage.

Esempi

Nell'esempio riportato di seguito è indicato che il package VS CustomDesigner, se la classe CustomSurfaceExt personalizzare l'area di progettazione che utilizza.

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

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.Design

DesignSurfaceExtension

DesignSurfaceExtensionAttribute

DesignSurface

IDesigner

IDesignerHost

Altre risorse

Estensione del supporto in fase di progettazione