Compartir a través de


CodeClass2.Children (Propiedad)

Obtiene una colección de objetos contenidos en esta clase de código.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

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

Valor de propiedad

Tipo: CodeElements
Colección de CodeElements.

Comentarios

Si una clase de código no tiene elementos secundarios, se devolverá Nothing o nullreferencia null (Nothing en Visual Basic).

Esta propiedad es utilizada principalmente por Visual C++. Children devuelve todos los objetos que puedan devolverse desde un elemento de código. Una clase, por ejemplo, devuelve miembros, bases, interfaces implementadas, atributos, comentarios, etc.

Para recorrer en iteración los miembros de un espacio de nombres o tipo (clase, struct, interfaz, etc.), es necesario utilizar la interfaz para realizar consultas o convertir CodeElement en CodeNamespace y utilizar después la propiedad Members.

Children devuelve la colección de todos los objetos CodeElement relacionados a los que se puede hacer referencia a través de esta clase de código. Por ejemplo, podría incluir los elementos de código de metadatos correspondientes a la clase y quizás también los declspecs de Visual C++, además de código escrito basado en la característica de programación con atributos de Visual C++, parámetros de plantilla, etc.

La propiedad Children puede devolver Nothing, dependiendo del objeto y el lenguaje. No es necesario que Visual Studio admita esto último.

Nota

Los valores de los elementos de modelo de código como clases, structs, funciones, atributos, delegados, etc., pueden ser no deterministas una vez realizados determinados tipos de modificaciones; esto significa que no se puede confiar en que sus valores se mantengan siempre igual.Para obtener más información, vea la sección Los valores de elementos de modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).

Ejemplos

[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);
    }
}

Seguridad de .NET Framework

Vea también

Referencia

CodeClass2 Interfaz

EnvDTE80 (Espacio de nombres)

Otros recursos

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización

Detectar código utilizando el modelo de código (Visual Basic)

Detectar código utilizando el modelo de código (Visual C#)