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
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)