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
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiável.
Consulte também
Referência
Outros recursos
Como compilar e executar os exemplos de código do modelo de objeto Automation