ProvideCodeGeneratorAttribute-Klasse
Wenden Sie dieses Attribut auf die Paketklasse in einer Visual Studio-Erweiterung an, die ein benutzerdefiniertes Tool bereitstellt.
Diese API ist nicht CLS-kompatibel.
Vererbungshierarchie
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.TextTemplating.VSHost.ProvideCodeGeneratorAttribute
Namespace: Microsoft.VisualStudio.TextTemplating.VSHost
Assembly: Microsoft.VisualStudio.TextTemplating.VSHost.10.0 (in Microsoft.VisualStudio.TextTemplating.VSHost.10.0.dll)
Syntax
'Declaration
<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
Der ProvideCodeGeneratorAttribute-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
ProvideCodeGeneratorAttribute | Wenden Sie dieses Attribut auf die Paketklasse eines Pakets an, das einen Code-Generator bereitstellt. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Description | Eine Klartextbeschreibung dieses Generators. | |
GeneratesDesignTimeSource | Beim Wert true wird von diesem Code-Generator Quellcode zur Entwurfszeit generiert. | |
Name | Der Name dieses Generators.Um diesen Generator auf eine Datei im Projektmappen-Explorer anzuwenden, legen Sie die Eigenschaft Benutzerdefiniertes Tool auf diesen Namen fest. | |
ProjectSystem | Das Projektsystem, bei dem dieser Code-Generator registriert wird. | |
RegisterCodeBase | Beim Wert true wird der Generator mit einer CodeBase registriert, d. h. einem bestimmten Speicherort der Assemblydatei.Beim Wert false befindet sich die Assembly im GAC. | |
Type | Der Typ, der den Code-Generator implementiert. | |
TypeId | (Von RegistrationAttribute geerbt.) |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
Equals | Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Von Attribute geerbt.) | |
Finalize | Ermöglicht es einem Objekt, zu versuchen, Ressourcen freizugeben und führt andere Bereinigungsvorgänge aus, bevor es von Garbage Collection freigegeben wird. (Von Object geerbt.) | |
GetHashCode | Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.) | |
GetPackageRegKeyPath | (Von RegistrationAttribute geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
IsDefaultAttribute | Beim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.) | |
Match | Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
Register | Wird aufgerufen, um die Änderungen zu definieren, die vorgenommen werden müssen, damit dieser Code-Generator registriert wird.Sollte normalerweise Schlüssel zur Registrierung hinzufügen. (Überschreibt RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) | |
Unregister | Wird aufgerufen, um die Änderungen zu definieren, die vorgenommen werden müssen, um die Registrierung dieses Code-Generators aufzuheben.Sollte normalerweise Schlüssel löschen, die von Register() hinzugefügt wurden. (Überschreibt RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Zum Seitenanfang
Felder
Name | Beschreibung | |
---|---|---|
AspNetProjectGuid | Die Guid des Pakets im ASP.NET-Projektsystem. | |
CSharpProjectGuid | Die GUID des Pakets im C#-Projektsystem. | |
VisualBasicProjectGuid | Die GUID des Pakets im Visual Basic-Projektsystem. |
Zum Seitenanfang
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
_Attribute.GetIDsOfNames | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfo | Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.) | |
_Attribute.GetTypeInfoCount | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.) | |
_Attribute.Invoke | Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.) |
Zum Seitenanfang
Hinweise
Dieses Attribut registriert die Visual Studio-Erweiterung als benutzerdefiniertes Tool. Wenn ein Benutzer eine Erweiterung installiert hat, die dieses Attribut aufweist, können sie sie verwenden, um Dateien mithilfe des Befehls Benutzerdefiniertes Tool ausführen im Projektmappen-Explorer zu generieren.
Dieses Attribut führt automatisch die Registrierungsaufgabe aus, die in Registering Single File Generators beschrieben wird.
Wenden Sie das Attribut auf die Paketklasse an (nicht die Generatorklasse).
Siehe auch ProvideCodeGeneratorExtensionAttribute.
Beispiele
[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
{ ... }
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.