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 | |
---|---|---|
ProvideCodeGeneratorAttribute | Consente di applicare questo attributo alla classe dei package che fornisce un generatore di codice. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Description | Descrizione leggibile di questo generatore | |
GeneratesDesignTimeSource | Se true, questo generatore di codice fornisce il codice sorgente in fase di progettazione | |
Name | Nome del generatore.Per applicare questo generatore a un file in Esplora soluzioni, impostare la relativa proprietà Strumento personalizzato su questo nome. | |
ProjectSystem | Sistema del progetto con cui è registrato il generatore di codice. | |
RegisterCodeBase | Se true, il generatore è registrato utilizzando un codebase, ovvero un percorso del file di assembly specifico.Se false, l'assembly è nella GAC. | |
Type | Il tipo che implementa il generatore di codice | |
TypeId | (Ereditato da RegistrationAttribute) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute) | |
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) | |
GetHashCode | Restituisce il codice hash per l'istanza. (Ereditato da Attribute) | |
GetPackageRegKeyPath | (Ereditato da RegistrationAttribute) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
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) | |
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) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
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)). | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) | |
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 | |
---|---|---|
AspNetProjectGuid | GUID del pacchetto del sistema del progetto ASP.Net | |
CSharpProjectGuid | GUID del pacchetto del sistema del progetto C# | |
VisualBasicProjectGuid | GUID del pacchetto del sistema del progetto Visual Basic |
In alto
Implementazioni esplicite dell'interfaccia
Nome | Descrizione | |
---|---|---|
_Attribute.GetIDsOfNames | Esegue il mapping di un set di nomi a un set corrispondente di ID di invio. (Ereditato da Attribute) | |
_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) | |
_Attribute.GetTypeInfoCount | Recupera il numero delle interfacce di informazioni di tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) | |
_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