Поделиться через


CodeAttribute2.Children - свойство

Получает коллекцию объектов, содержащихся в данной конструкции кода.

Пространство имен:  EnvDTE80
Сборка:  EnvDTE80 (в EnvDTE80.dll)

Синтаксис

'Декларация
ReadOnly Property Children As CodeElements
CodeElements Children { get; }
property CodeElements^ Children {
    CodeElements^ get ();
}
abstract Children : CodeElements
function get Children () : CodeElements

Значение свойства

Тип: EnvDTE.CodeElements
Возвращает коллекцию CodeElements.

Заметки

Если объект не имеет дочерних объектов, то возвращается значение Nothing или nullссылка NULL (Nothing в Visual Basic).

Это свойство главным образом применяется в Visual C++.Свойство Children возвращает каждый объект, возвращаемый из элемента кода.В частности, для класса возвращаются члены, базовые типы, реализуемые интерфейсы, атрибуты, комментарии и т. п.

Для итерации членов пространства имен или типа (класса, структуры, интерфейса и т. д.) необходимо использовать интерфейс запроса или привести объект CodeElement к объекту CodeNamespace и затем использовать свойство Members.

Свойство Children возвращает коллекцию всех связанных объектов CodeElement2, на которые можно сослаться посредством данного элемента кода.Например, для объекта CodeClass2 сюда могут относиться элементы кода метаданных этого класса и, возможно, спецификации объявлений Visual C++, а также код, созданный с использованием технологии атрибутивного программирования Visual C++, параметры шаблонов и прочее.Объект CodeFunction2 может включать все параметры функции, параметры, предоставляемые с использованием технологии атрибутивного программирования, и т.д.

Свойство Children может возвращать значение Nothing или null в зависимости от объекта и языка.Поддержка этого в Visual Studio не является обязательной.

Примеры

В следующем примере создается новое пространство имен и атрибут в текущем классе и перечисляются некоторые свойства атрибута.

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

См. также

Ссылки

CodeAttribute2 Интерфейс

Children - перегрузка

EnvDTE80 - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации

Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)

Практическое руководство. Поиск кода при помощи модели кода (Visual C#)