Condividi tramite


Classe ProvideCodeGeneratorAttribute

Applicare l'attributo alla classe del pacchetto in un'estensione di Visual Studio che fornisce uno strumento personalizzato.

Questa API non è conforme a CLS. 

Gerarchia di ereditarietà

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute

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

Sintassi

'Dichiarazione
<CLSCompliantAttribute(False)> _
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
Public NotInheritable Class ProvideCodeGeneratorAttribute _
    Inherits RegistrationAttribute
[CLSCompliantAttribute(false)]
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public sealed class ProvideCodeGeneratorAttribute : RegistrationAttribute
[CLSCompliantAttribute(false)]
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
public ref class ProvideCodeGeneratorAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<CLSCompliantAttribute(false)>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
type ProvideCodeGeneratorAttribute =  
    class
        inherit RegistrationAttribute
    end
public final class ProvideCodeGeneratorAttribute extends RegistrationAttribute

Il tipo ProvideCodeGeneratorAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideCodeGeneratorAttribute

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Description Una descrizione leggibile umana del generatore
Proprietà pubblica GeneratesDesignTimeSource Se true, questo generatore di codice fornisce il codice sorgente in fase di progettazione
Proprietà pubblica Name Il nome del generatore.Per applicare questo generatore su un file in Esplora Risorse, impostarne strumento personalizzato proprietà a questo nome.
Proprietà pubblica ProjectSystem Il sistema del progetto con cui questo generatore di codice viene registrato.
Proprietà pubblica RegisterCodeBase Se true, il generatore viene registrato utilizzando una codebase, ovvero una posizione specifica del file di assembly.Se false, l'assembly è presente nella GAC.
Proprietà pubblica Type il tipo che implementa il generatore di codice
Proprietà pubblica TypeId (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 (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 (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Campi

  Nome Descrizione
Campo pubblicoMembro statico AspNetProjectGuid GUID del pacchetto di sistema del progetto ASP.NET
Campo pubblicoMembro statico CSharpProjectGuid GUID del pacchetto di sistema del progetto C#
Campo pubblicoMembro statico VisualBasicProjectGuid GUID del pacchetto di sistema di progetto di Visual Basic.

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

questo attributo registra l'estensione di Visual Studio come strumento personalizzato.Quando un utente ha installato un'estensione con questo attributo, possono utilizzarla per generare i file utilizzando il strumento personalizzato di esecuzione comando in Esplora soluzioni.

Questo attributo viene eseguito automaticamente l'attività di registrazione descritta in registrare i generatori di file singolo.

Applicare l'attributo alla classe del package e non la classe del generatore).

vedere inoltre ProvideCodeGeneratorExtensionAttribute.

Esempi

[ProvideCodeGenerator(typeof(MyGenerator), "MyCustomTool", "My custom tool", true, ProjectSystem = ProvideCodeGeneratorAttribute.CSharpProjectGuid)]
internal sealed partial class MyPackage : Microsoft.VisualStudio.Shell
.Package
{ ... }
internal class MyGenerator : Microsoft.VisualStudio.Shell.Interop.IVsSingleFileGenerator
{ ... }

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.TextTemplating.VSHost