ProvideCodeGeneratorAttribute (Clase)

Aplique este atributo a la clase de paquete en una extensión de Visual Studio que proporciona una herramienta personalizada.

Esta API no es compatible con CLS. 

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.TextTemplating.VSHost
Ensamblado:  Microsoft.VisualStudio.TextTemplating.VSHost.10.0 (en Microsoft.VisualStudio.TextTemplating.VSHost.10.0.dll)

Sintaxis

'Declaración
<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

El tipo ProvideCodeGeneratorAttribute expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público ProvideCodeGeneratorAttribute Aplique este atributo a la clase de un paquete que proporciona un generador de código.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Description Descripción inteligible por el usuario de este generador.
Propiedad pública GeneratesDesignTimeSource Si es true, este generador de código proporciona código fuente en tiempo de diseño.
Propiedad pública Name Nombre de este generador.Para aplicar este generador a un archivo en el Explorador de soluciones, establezca su propiedad Herramienta personalizada en este nombre.
Propiedad pública ProjectSystem Sistema de proyectos con el que se registra este generador de código.
Propiedad pública RegisterCodeBase Si es true, el generador se registra usando un código base; es decir, una ubicación del archivo de ensamblado concreta.Si es false, el ensamblado está en la GAC.
Propiedad pública Type Tipo que implementa el generador de código.
Propiedad pública TypeId (Se hereda de RegistrationAttribute).

Arriba

Métodos

  Nombre Descripción
Método público Equals Infraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método público GetHashCode Devuelve el código hash de esta instancia. (Se hereda de Attribute).
Método protegido GetPackageRegKeyPath (Se hereda de RegistrationAttribute).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público IsDefaultAttribute Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute).
Método público Match Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Se hereda de Attribute).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método público Register Se le llama para definir los cambios que se deben realizar para registrar este generador de código.Normalmente, debe agregar claves al Registro. (Invalida a RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método público Unregister Se le llama para definir los cambios que se deben realizar para anular el Registro de este generador de código.Normalmente, debe eliminar claves agregadas por Register(). (Invalida a RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Arriba

Campos

  Nombre Descripción
Campo públicoMiembro estático AspNetProjectGuid GUID del paquete de sistema de proyectos de ASP.NET.
Campo públicoMiembro estático CSharpProjectGuid GUID del paquete de sistema de proyectos de C#.
Campo públicoMiembro estático VisualBasicProjectGuid GUID del paquete de sistema de proyectos de Visual Basic.

Arriba

Implementaciones explícitas de interfaces

  Nombre Descripción
Implementación explícita de interfacesMétodo privado _Attribute.GetIDsOfNames Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.GetTypeInfo Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.GetTypeInfoCount Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.Invoke Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).

Arriba

Comentarios

Este atributo registra la extensión de Visual Studio como herramienta personalizada. Si un usuario ha instalado una extensión que tiene este atributo, la puede usar para generar archivos mediante el comando Ejecutar herramienta personalizada en el Explorador de soluciones.

Este atributo realiza automáticamente la tarea de registro que se describe en Registering Single File Generators.

Aplique el atributo a la clase de paquete (no la clase de generador).

Vea también ProvideCodeGeneratorExtensionAttribute.

Ejemplos

[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
{ ... }

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.TextTemplating.VSHost (Espacio de nombres)