Compartilhar via


Interface CodeAttribute2

Define um atributo para um elemento de código.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (em EnvDTE80.dll)

Sintaxe

'Declaração
<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")> _
Public Interface CodeAttribute2 _
    Inherits CodeAttribute
[GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface CodeAttribute2 : CodeAttribute
[GuidAttribute(L"35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface class CodeAttribute2 : CodeAttribute
[<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")>]
type CodeAttribute2 =  
    interface 
        interface CodeAttribute 
    end
public interface CodeAttribute2 extends CodeAttribute

O tipo CodeAttribute2 expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública Arguments Obtém uma coleção de objetos de CodeElement que contém os objetos de CodeAttributeArgument associados a esse atributo.
Propriedade pública Children Obtém uma coleção de objetos contidos nessa construção de código.
Propriedade pública Collection Obtém uma coleção de objetos de CodeAttribute2 .
Propriedade pública DTE Obtém o objeto de nível superior de extensibilidade.
Propriedade pública EndPoint Obtém o ponto de edição que é o local de destino do atributo de código.
Propriedade pública Extender Retorna Extender solicitado está disponível para este atributo de código.
Propriedade pública ExtenderCATID Obtém a ID da categoria de CATID taxa de proporção () para o objeto.
Propriedade pública ExtenderNames Obtém uma lista de nomes de prolongamentos disponíveis para o objeto.
Propriedade pública FullName Obtém o caminho completo e o nome do arquivo de objeto.
Propriedade pública InfoLocation Obtém o modelo de código.
Propriedade pública IsCodeType Obtém se um objeto de CodeType pode ser obtido deste objeto.
Propriedade pública Kind Obtém uma enumeração que indica o tipo de atributo.
Propriedade pública Language Obtém uma constante que identifica a linguagem de programação usada para criar o atributo.
Propriedade pública Name Os conjuntos ou obtêm o nome do atributo de código.
Propriedade pública Parent Obtém o objeto pai imediato do atributo de código.
Propriedade pública ProjectItem Obtém ProjectItem associado ao atributo de código.
Propriedade pública StartPoint Obtém TextPoint que define o início do atributo.
Propriedade pública Target Os conjuntos ou obtêm o destino do atributo de código.
Propriedade pública Value Os conjuntos ou obtêm os dados para o atributo de código.

Superior

Métodos

  Nome Descrição
Método público AddArgument Adiciona um argumento para o atributo.
Método público Delete Remove todos os atributos no elemento de código.
Método público GetEndPoint Retorna um objeto de TextPoint que marca a posição final do atributo.
Método público GetStartPoint Retorna um objeto de TextPoint que define a posição inicial de atributo.

Superior

Comentários

O objeto de CodeAttribute2 representa um único atributo de metadados de COM associado a um elemento de código. Você pode adicionar novos atributos com o método de AddAttribute , e exclui os atributos usando o método de Delete no objeto apropriado. Você pode obter e definir o valor de um atributo de código usando esse objeto.

Dica

Os valores de código de modelagem elementos como classes, estruturas, funções, atributos, representantes, e assim por diante podem ser não determinísticas depois de fazer determinados tipos as edições do, o que significa que seus valores não podem ser confiáveis em para permanecer sempre os mesmos.Para obter mais informações, veja que os valores do elemento do modelo de código da seção podem ser alteradas em Descobrindo código usando o modelo de código (Visual Basic).

Exemplos

// The following example creates a new namespace and attribute in the current class.
public void CreateClassAndAttrib(DTE2 applicationObject)
{
    // Before running, load or create a project.
    FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
    CodeAttribute2 cmAttribute;
    CodeClass2 cmClass;

    if (fcm2 != null)
    {
        CodeNamespace cmNamespace;
        // Try to create a new namespace.
        try
        {
            cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
            // If successful, create the other code elements.
            if (cmNamespace != null)
            {
                cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass", 
                -1, null, null, vsCMAccess.vsCMAccessPrivate);
                cmAttribute = (CodeAttribute2)cmClass.AddAttribute
                ("NewAttribute", "AttributeValue", -1);
            }
            else
            {
                MessageBox.Show("Cannot continue - no filecodemodel 
                available.");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("ERROR: " + ex);
        }
    }
}

public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
    // Returns the FileCodeModel object of the active 
    // window.
    TextWindow txtWin = 
    (TextWindow)applicationObject.ActiveWindow.Object;
    FileCodeModel2 fcm2;
    if (txtWin != null)
    {
        try
        {
             fcm2 = (FileCodeModel2)txtWin.Parent.
             ProjectItem.FileCodeModel;
             return fcm2;
        }
        catch (Exception ex)
        {
             MessageBox.Show("ERROR: " + ex);
             return null;
        }
    }
    else
        return null;
}

Consulte também

Referência

Namespace EnvDTE80

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation

Descobrindo código usando o modelo de código (Visual Basic)

Descobrindo código usando o modelo de código (Visual C#)