ProvideCodeGeneratorExtensionAttribute (Clase)

Aplique este atributo a una clase de un paquete que proporcione un generador de código para una extensión de archivo concreta.

Esta API no es compatible con CLS. 

Jerarquía de herencia

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

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
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := False)> _
<CLSCompliantAttribute(False)> _
Public NotInheritable Class ProvideCodeGeneratorExtensionAttribute _
    Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public sealed class ProvideCodeGeneratorExtensionAttribute : RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true, Inherited = false)]
[CLSCompliantAttribute(false)]
public ref class ProvideCodeGeneratorExtensionAttribute sealed : public RegistrationAttribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = false)>]
[<CLSCompliantAttribute(false)>]
type ProvideCodeGeneratorExtensionAttribute =  
    class
        inherit RegistrationAttribute
    end
public final class ProvideCodeGeneratorExtensionAttribute extends RegistrationAttribute

El tipo ProvideCodeGeneratorExtensionAttribute expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público ProvideCodeGeneratorExtensionAttribute Aplique este atributo a una clase de un paquete que proporcione un generador de código para una extensión de archivo concreta.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Extension Extensión a la que se va a enlazar el generador con nombre.
Propiedad pública Name Nombre del generador para el que se va a agregar una extensión.
Propiedad pública ProjectSystem Sistema de proyectos en el que se registra este generador de código.
Propiedad pública ProjectSystemPackage Paquete que implementa el sistema de proyectos con el que se registra este 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 cuando el usuario instala la extensión del 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 cuando el usuario desinstala el paquete.Normalmente debe eliminar claves del Registro creadas por Register(). (Invalida a RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Arriba

Campos

  Nombre Descripción
Campo públicoMiembro estático AspNetProjectSystemGuid GUID de proyecto real (frente al GUID de paquete) para ASP.NET.
Campo públicoMiembro estático CSharpProjectSystemGuid GUID de proyecto real (frente al GUID de paquete) para CSharp.
Campo públicoMiembro estático VisualBasicProjectSystemGuid GUID de proyecto real (frente al GUID de paquete) para 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

Debe aplicarse a la clase de paquete, no al generador, además del atributo ProvideCodeGenerator. Este atributo instala dos cosas:

  • Aplicación predeterminada del generador especificado para archivos con la extensión proporcionada

  • Funcionamiento correcto con el sistema de proyectos de ASP.NET que requiere las extensiones de archivo para registrarse

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)