Compartilhar via


Propriedade CodeAttribute2.Children

Obtém uma coleção de objetos contidos nessa construção de código.

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

Sintaxe

'Declaração
ReadOnly Property Children As CodeElements
CodeElements Children { get; }
property CodeElements^ Children {
    CodeElements^ get ();
}
abstract Children : CodeElements with get
function get Children () : CodeElements

Valor de propriedade

Tipo: CodeElements
Retorna uma coleção de CodeElements .

Comentários

Se um objeto não tiver nenhum filho, então Nothing ou nulluma referência nula (Nothing no Visual Basic) são retornados.

Esta propriedade é usada principalmente pelo Visual C++. A propriedade de Children retorna cada objeto retornável de um elemento de código. Uma classe, por exemplo, retorna membros, bases, interfaces implementadas, atributos, comentários, e assim por diante.

Para iterar pelos membros de um namespace ou de um tipo (classe, struct, a interface, e assim por diante), você deverá ver a interface (QI) ou converter o objeto de CodeElement a um objeto de CodeNamespace e usar a propriedade de Members .

A propriedade de Children retorna a coleção de todos os objetos relacionados de CodeElement2 que podem ser referenciados por meio desse elemento de código. Por exemplo, para um objeto de CodeClass2 , isso pode incluir os elementos de código de metadados para a classe e talvez os declspecs do Visual C++, junto com o código contribuído baseado em recursos atribuído de programação no Visual C++, parâmetros do modelo, e assim por diante. Um objeto de CodeFunction2 pode incluir todos seus parâmetros, parâmetros incluídos com base no recurso atribuído de programação, e assim por diante.

A propriedade de Children pode retornar Nothing ou null dependendo do objeto e o idioma. Não há nenhum requisito oferecer suporte a isso no Visual Studio.

Exemplos

O exemplo a seguir cria uma nova namespace e atributo na classe atual e lista algumas das propriedades do atributo.

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

Segurança do .NET Framework

Consulte também

Referência

CodeAttribute2 Interface

Namespace EnvDTE80

Outros recursos

Como compilar e executar os exemplos de código do modelo de objeto Automation

Descobrindo código usando o modelo de código (Visual Basic)

Descobrindo código usando o modelo de código (Visual C#)