Condividi tramite


Classe ProvideCodeGeneratorAttribute

Consente di applicare questo attributo alla classe dei package in un'estensione 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.10.0 (in Microsoft.VisualStudio.TextTemplating.VSHost.10.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 Consente di applicare questo attributo alla classe dei package che fornisce un generatore di codice.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Description Descrizione leggibile di questo generatore
Proprietà pubblica GeneratesDesignTimeSource Se true, questo generatore di codice fornisce il codice sorgente in fase di progettazione
Proprietà pubblica Name Nome del generatore.Per applicare questo generatore a un file in Esplora soluzioni, impostare la relativa proprietà Strumento personalizzato su questo nome.
Proprietà pubblica ProjectSystem Sistema del progetto con cui è registrato il generatore di codice.
Proprietà pubblica RegisterCodeBase Se true, il generatore è registrato utilizzando un codebase, ovvero un percorso del file di assembly specifico.Se false, l'assembly è 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 protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da Attribute)
Metodo protetto GetPackageRegKeyPath (Ereditato da RegistrationAttribute)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IsDefaultAttribute Quando è sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito della classe derivata. (Ereditato da Attribute)
Metodo pubblico Match Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico Register È stato chiamato per definire le modifiche che devono essere apportate per registrare questo generatore di codice.In genere è necessario aggiungere le chiavi al Registro di sistema. (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 È stato chiamato per definire le modifiche che devono essere apportate per annullare la registrazione di questo generatore di codice.In genere è opportuno eliminare chiavi aggiunte da Register(). (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Campi

  Nome Descrizione
Campo pubblicoMembro statico AspNetProjectGuid GUID del pacchetto del sistema del progetto ASP.Net
Campo pubblicoMembro statico CSharpProjectGuid GUID del pacchetto del sistema del progetto C#
Campo pubblicoMembro statico VisualBasicProjectGuid GUID del pacchetto del sistema del progetto 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 di invio. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfo Recupera le informazioni sul tipo relative a un oggetto, che possono essere utilizzate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfoCount Recupera il numero delle interfacce di informazioni di tipo fornite da un oggetto (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 consente di registrare l'estensione di Visual Studio come strumento personalizzato. Quando un utente ha installato un'estensione che dispone di questo attributo, è possibile utilizzarlo per generare i file utilizzando il comando Esegui strumento personalizzato in Esplora soluzioni.

Questo attributo consente di eseguire automaticamente l'attività di registrazione descritta in Registering Single File Generators.

Consente di applicare l'attributo alla classe dei package (non alla classe del generatore).

Vedere anche 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