Freigeben über


CodeClass2.Children-Eigenschaft

Ruft eine Auflistung von Objekten ab, die in dieser Codeklasse enthalten sind.

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

Syntax

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

Eigenschaftswert

Typ: EnvDTE.CodeElements
Eine CodeElements-Auflistung.

Implementiert

CodeClass.Children

Hinweise

Wenn die Codeklasse keine untergeordneten Elemente aufweist, wird Nothing oder nullNULL-Verweis (Nothing in Visual Basic) zurückgegeben.

Diese Eigenschaft wird primär von Visual C++ verwendet. Children 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 für CodeElement durchführen oder das Codeelement in CodeNamespace umwandeln und dann die Members-Eigenschaft verwenden.

Children gibt die Auflistung aller zugehörigen CodeElement-Objekte zurück, auf die über diese Codeklasse verwiesen werden kann. Dies kann 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.

Die Children-Eigenschaft kann, abhängig vom Objekt und der Programmiersprache, Nothing zurückgeben. In Visual Studio ist keine Unterstützung erforderlich.

Tipp

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

[Visual Basic]

Sub ChildrenExample(ByVal dte As DTE2)
    ' 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.
        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

[C#]

public void ChildrenExample(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

CodeClass2 Schnittstelle

Children-Überladung

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