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 | |
---|---|---|
ProvideCodeGeneratorAttribute |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
Description | Descripción inteligible por el usuario de este generador. | |
GeneratesDesignTimeSource | Si es true, este generador de código proporciona código fuente en tiempo de diseño. | |
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. | |
ProjectSystem | Sistema de proyectos con el que se registra este generador de código. | |
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. | |
Type | Tipo que implementa el generador de código. | |
TypeId | (Se hereda de RegistrationAttribute). |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Infraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute). | |
GetHashCode | Devuelve el código hash de esta instancia. (Se hereda de Attribute). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
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). | |
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). | |
Register | (Invalida a RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). | |
Unregister | (Invalida a RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)). |
Arriba
Campos
Nombre | Descripción | |
---|---|---|
AspNetProjectGuid | GUID del paquete de sistema de proyectos de ASP.NET. | |
CSharpProjectGuid | GUID del paquete de sistema de proyectos de C#. | |
VisualBasicProjectGuid | GUID del paquete de sistema de proyectos de Visual Basic. |
Arriba
Implementaciones explícitas de interfaces
Nombre | Descripción | |
---|---|---|
_Attribute.GetIDsOfNames | Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute). | |
_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). | |
_Attribute.GetTypeInfoCount | Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute). | |
_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)