Partilhar via


Classe ProvideCodeGeneratorAttribute

Aplica este atributo à classe de pacote em uma extensão de Visual Studio que fornece uma ferramenta personalizada.

Esta API não compatível com CLS. 

Hierarquia de herança

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

Namespace:  Microsoft.VisualStudio.TextTemplating.VSHost
Assembly:  Microsoft.VisualStudio.TextTemplating.VSHost.11.0 (em Microsoft.VisualStudio.TextTemplating.VSHost.11.0.dll)

Sintaxe

'Declaração
<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

O tipo ProvideCodeGeneratorAttribute expõe os membros a seguir.

Construtores

  Nome Descrição
Método público ProvideCodeGeneratorAttribute

Superior

Propriedades

  Nome Descrição
Propriedade pública Description Uma descrição humana legível Esse gerador
Propriedade pública GeneratesDesignTimeSource Se verdadeiro, este gerador de código fornece o código-fonte de tempo de design
Propriedade pública Name O nome desse gerador.Para aplicar esse gerador em um arquivo no Solution Explorer, defina sua Ferramenta personalizada propriedade para esse nome.
Propriedade pública ProjectSystem O sistema de projeto com o qual este gerador de código está registrado.
Propriedade pública RegisterCodeBase Se verdadeiro, o gerador é registrado usando uma base de código - ou seja, um local de arquivo do assembly específico.Se for false, o assembly está no GAC.
Propriedade pública Type O tipo que implementa o gerador de código
Propriedade pública TypeId (Herdado de RegistrationAttribute.)

Superior

Métodos

  Nome Descrição
Método público Equals Infraestrutura. Retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.)
Método público GetHashCode Retorna o código hash para essa instância. (Herdado de Attribute.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público IsDefaultAttribute Quando substituído em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.)
Método público Match Quando substituído em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.)
Método público Register (Substitui RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)
Método público Unregister (Substitui RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).)

Superior

Campos

  Nome Descrição
Campo públicoMembro estático AspNetProjectGuid GUID do ASP.NET pacote de sistema do projeto
Campo públicoMembro estático CSharpProjectGuid GUID do pacote do sistema do projeto C#
Campo públicoMembro estático VisualBasicProjectGuid GUID do pacote do sistema do projeto Visual Basic

Superior

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular _Attribute.GetIDsOfNames Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular _Attribute.GetTypeInfo Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular _Attribute.GetTypeInfoCount Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular _Attribute.Invoke Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.)

Superior

Comentários

Este atributo registra sua extensão de Visual Studio como uma ferramenta personalizada.Quando um usuário tiver instalado uma extensão que tem esse atributo, eles podem usá-lo para gerar arquivos usando o Ferramenta personalizado para executar comando no Solution Explorer.

Este atributo executa automaticamente a tarefa de registro descrita no Registrando os geradores de arquivo único.

Aplica o atributo à classe de pacote (e não a classe do gerador).

See also ProvideCodeGeneratorExtensionAttribute.

Exemplos

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

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.TextTemplating.VSHost