Freigeben über


CodeAttribute2.Children-Eigenschaft

Ruft eine Auflistung von Objekten ab, die in diesem Codekonstrukt enthalten sind.

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

Syntax

'Declaration
ReadOnly Property Children As CodeElements
CodeElements Children { get; }
property CodeElements^ Children {
    CodeElements^ get ();
}
abstract Children : CodeElements with get
function get Children () : CodeElements

Eigenschaftswert

Typ: CodeElements
Gibt eine CodeElements-Auflistung zurück.

Hinweise

Wenn ein Objekt keine untergeordneten Elemente aufweist, wird Nothing oder nullein Nullverweis (Nothing in Visual Basic) zurückgegeben.

Diese Eigenschaft wird primär von Visual C++ verwendet. Die Children-Eigenschaft gibt jedes Objekt zurück, das von einem Codeelement zurückgegeben werden kann. Eine Klasse gibt z. B. Member, Basen, implementierte Schnittstellen, Attribute, Kommentare usw. zurück.

Zum Durchlaufen der Member eines Namespaces oder Typs (Klasse, Struktur, Schnittstelle usw.) müssen Sie eine Schnittstellenabfrage durchführen oder das CodeElement-Objekt in ein CodeNamespace-Objekt umwandeln und dann die Members-Eigenschaft verwenden.

Die Children-Eigenschaft gibt die Auflistung aller zugehörigen CodeElement2-Objekte zurück, auf die über dieses Codeelement verwiesen werden kann. Bei einem CodeClass2-Objekt kann dies z. B. Folgendes umfassen: die Metadatencodeelemente für die Klasse und ggf. die Visual C++-declspecs, bereitgestellten Code, der auf dem Feature für die attributierte Programmierung in Visual C++ basiert, sowie Vorlagenparameter usw. Ein CodeFunction2-Objekt kann sämtliche Parameter sowie bereitgestellte Parameter auf Grundlage des Features für die attributierte Programmierung usw. enthalten.

Die Children-Eigenschaft gibt, abhängig vom Objekt und der Sprache, Nothing oder null zurück. In Visual Studio ist keine Unterstützung erforderlich.

Beispiele

Im folgenden Beispiel werden in der aktuellen Klasse ein neuer Namespace und ein neues Attribut erstellt und einige der Attributeigenschaften aufgelistet.

Sub Children2Example(ByVal dte As DTE2)
    ' Before running this example, open a code page of a project
    ' and place the insertion point inside a namespace definition.
    Try
        ' Retrieve the CodeNamespace at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim spc As CodeNamespace = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementNamespace), CodeNamespace)

        ' Find the namespace's children.
        Dim children As String
        Dim elem As CodeElement
        For Each elem In spc.Children
            children &= elem.Name & vbCrLf
        Next

        MsgBox(spc.Name & " has the following child code elements:" & _
            vbCrLf & vbCrLf & children)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void Children2Example(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a namespace definition.
    try
    {
        // Retrieve the CodeNamespace at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeNamespace spc = 
            (CodeNamespace)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementNamespace);

        // Find the namespace's children.
        string children = "";
        
        foreach (CodeElement elem in spc.Children)
        children += elem.Name + "\r\n";

        MessageBox.Show(spc.Name + 
            " has the following child code elements:" + "\r\n\r\n" + 
            children);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeAttribute2 Schnittstelle

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#)