Freigeben über


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
Öffentliche Methode ProvideCodeGeneratorAttribute Wenden Sie dieses Attribut auf die Paketklasse eines Pakets an, das einen Code-Generator bereitstellt.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Description Eine Klartextbeschreibung dieses Generators.
Öffentliche Eigenschaft GeneratesDesignTimeSource Beim Wert true wird von diesem Code-Generator Quellcode zur Entwurfszeit generiert.
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft ProjectSystem Das Projektsystem, bei dem dieser Code-Generator registriert wird.
Öffentliche Eigenschaft 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.
Öffentliche Eigenschaft Type Der Typ, der den Code-Generator implementiert.
Öffentliche Eigenschaft TypeId (Von RegistrationAttribute geerbt.)

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode Equals Infrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. (Von Attribute geerbt.)
Geschützte Methode 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.)
Öffentliche Methode GetHashCode Gibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Geschützte Methode GetPackageRegKeyPath (Von RegistrationAttribute geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode 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.)
Öffentliche Methode Match Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode 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).)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode 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
Öffentliches FeldStatischer Member AspNetProjectGuid Die Guid des Pakets im ASP.NET-Projektsystem.
Öffentliches FeldStatischer Member CSharpProjectGuid Die GUID des Pakets im C#-Projektsystem.
Öffentliches FeldStatischer Member VisualBasicProjectGuid Die GUID des Pakets im Visual Basic-Projektsystem.

Zum Seitenanfang

Explizite Schnittstellenimplementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.GetIDsOfNames Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode _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.)
Explizite SchnittstellenimplementierungPrivate Methode _Attribute.GetTypeInfoCount Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode _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.

Siehe auch

Referenz

Microsoft.VisualStudio.TextTemplating.VSHost-Namespace