Compartir a través de


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 conforme a 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.11.0 (en Microsoft.VisualStudio.TextTemplating.VSHost.11.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

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 público GetHashCode Devuelve el código hash de esta instancia. (Se hereda de Attribute).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público IsDefaultAttribute Cuando se invalida 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 invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Se hereda de Attribute).
Método público Register (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 (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 Registrar generadores de un solo archivo.

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)