Freigeben über


CodeAttribute2-Schnittstelle

Definiert ein Attribut für ein Codeelement.

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

Syntax

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

Der CodeAttribute2-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft Arguments Ruft eine Auflistung von CodeElement-Objekten ab, die die diesem Attribut zugeordneten CodeAttributeArgument-Objekte enthält.
Öffentliche Eigenschaft Children Ruft eine Auflistung von Objekten ab, die in diesem Codekonstrukt enthalten sind.
Öffentliche Eigenschaft Collection Ruft eine Auflistung von CodeAttribute2-Objekten ab.
Öffentliche Eigenschaft DTE Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Öffentliche Eigenschaft EndPoint Ruft den Bearbeitungspunkt ab, der die Endposition des Codeattributs ist.
Öffentliche Eigenschaft Extender Gibt den angeforderten Extender zurück, falls er für dieses Codeattribut verfügbar ist.
Öffentliche Eigenschaft ExtenderCATID Ruft die ID der Extenderkategorie (CATID) für das Objekt ab.
Öffentliche Eigenschaft ExtenderNames Ruft eine Liste mit den Namen der für das Objekt verfügbaren Extender ab.
Öffentliche Eigenschaft FullName Ruft den vollständigen Pfad und Namen der Objektdatei ab.
Öffentliche Eigenschaft InfoLocation Ruft das Codemodell ab.
Öffentliche Eigenschaft IsCodeType Ruft ab, ob ein CodeType-Objekt aus diesem Objekt abgerufen werden kann.
Öffentliche Eigenschaft Kind Ruft eine Enumeration ab, die den Typ des Attributs angibt.
Öffentliche Eigenschaft Language Ruft eine Konstante ab, die die zum Erstellen des Attributs verwendete Programmiersprache angibt.
Öffentliche Eigenschaft Name Legt den Namen des Codeattributs fest oder ruft ihn ab.
Öffentliche Eigenschaft Parent Ruft das unmittelbar übergeordnete Objekt des Codeattributs ab.
Öffentliche Eigenschaft ProjectItem Ruft das dem Codeattribut zugeordnete ProjectItem ab.
Öffentliche Eigenschaft StartPoint Ruft ein TextPoint-Objekt ab, das den Anfang des Attributs definiert.
Öffentliche Eigenschaft Target Legt das Ziel des Codeattributs fest oder ruft es ab.
Öffentliche Eigenschaft Value Legt die Daten für das Codeattribut fest oder ruft sie ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode AddArgument Fügt dem Attribut ein Argument hinzu.
Öffentliche Methode Delete Entfernt alle Attribute im Codeelement.
Öffentliche Methode GetEndPoint Gibt ein TextPoint-Objekt zurück, das die Endposition des Attributs markiert.
Öffentliche Methode GetStartPoint Gibt ein TextPoint-Objekt zurück, das die Anfangsposition des Attributs definiert.

Zum Seitenanfang

Hinweise

Das CodeAttribute2-Objekt stellt ein einzelnes COM-Metadatenattribut dar, das einem Codeelement zugeordnet ist. Mit der AddAttribute-Methode des entsprechenden Objekts können Sie neue Attribute hinzufügen, und mit der Delete-Methode des entsprechenden Objekts können Sie die Attribute löschen. Der Wert eines Codeattributs wird mit diesem Objekt abgerufen und festgelegt.

Hinweis

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben.Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

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

Siehe auch

Referenz

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)