Condividi tramite


Interfaccia CodeAttribute2

Definisce un attributo per un elemento di codice.

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
<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

Il tipo CodeAttribute2 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica Arguments Ottiene una raccolta di oggetti CodeElement contenente gli oggetti CodeAttributeArgument associati a questo attributo.
Proprietà pubblica Children Ottiene una raccolta di oggetti contenuti nel costrutto di codice.
Proprietà pubblica Collection Ottiene una raccolta di oggetti CodeAttribute2.
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica EndPoint Ottiene il punto di modifica che rappresenta la fine dell'attributo di codice.
Proprietà pubblica Extender Restituisce l'oggetto Extender richiesto, se disponibile per l'attributo di codice.
Proprietà pubblica ExtenderCATID Ottiene l'ID della categoria Extender (CATID) relativo all'oggetto.
Proprietà pubblica ExtenderNames Ottiene un elenco di nomi di oggetti Extender disponibili per l'oggetto.
Proprietà pubblica FullName Ottiene il percorso completo e il nome del file dell'oggetto.
Proprietà pubblica InfoLocation Ottiene il modello di codice.
Proprietà pubblica IsCodeType Ottiene un valore che indica se è possibile ottenere un oggetto CodeType dall'oggetto corrente.
Proprietà pubblica Kind Ottiene un'enumerazione che indica il tipo di attributo.
Proprietà pubblica Language Ottiene una costante che identifica il linguaggio di programmazione utilizzato per modificare l'attributo.
Proprietà pubblica Name Imposta o ottiene il nome dell'attributo di codice.
Proprietà pubblica Parent Ottiene l'oggetto padre immediato dell'attributo di codice.
Proprietà pubblica ProjectItem Ottiene l'oggetto ProjectItem associato all'attributo di codice.
Proprietà pubblica StartPoint Ottiene un oggetto TextPoint che definisce l'inizio dell'attributo.
Proprietà pubblica Target Imposta o ottiene la destinazione dell'attributo di codice.
Proprietà pubblica Value Imposta o ottiene i dati per l'attributo di codice.

In alto

Metodi

  Nome Descrizione
Metodo pubblico AddArgument Aggiunge un argomento all'attributo.
Metodo pubblico Delete Rimuove tutti gli attributi nell'elemento di codice.
Metodo pubblico GetEndPoint Restituisce un oggetto TextPoint che contrassegna la fine dell'attributo.
Metodo pubblico GetStartPoint Restituisce un oggetto TextPoint che definisce l'inizio dell'attributo.

In alto

Note

L'oggetto CodeAttribute2 rappresenta un singolo attributo di metadati COM associato a un elemento di codice. È possibile aggiungere nuovi attributi con il metodo AddAttribute ed eliminarli con il metodo Delete sull'oggetto appropriato. È possibile ottenere e impostare il valore di un attributo di codice utilizzando questo oggetto.

Nota

I valori degli elementi del modello di codice, quali classi, strutture, funzioni, attributi, delegati e così via, possono non essere deterministici dopo alcuni tipi di modifiche. Ciò significa che non si può fare affidamento sulla stabilità di tali valori.Per ulteriori informazioni, vedere la sezione Possibile modifica dei valori degli elementi del modello di codice in Individuazione di codice mediante il modello di codice (Visual Basic).

Esempi

// 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;
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE80

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione

Individuazione di codice mediante il modello di codice (Visual Basic)

Individuazione di codice mediante il modello di codice (Visual C#)