CodeAttribute2.Children (Propiedad)
Obtiene una colección de objetos contenidos en esta construcción 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
function get Children () : CodeElements
Valor de propiedad
Tipo: EnvDTE.CodeElements
Devuelve una colección de CodeElements.
Comentarios
Si un objeto no tiene elementos secundarios, se devolverá Nothing o nullreferencia null (Nothing en Visual Basic).
Esta propiedad es utilizada principalmente por Visual C++.La propiedad 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 el objeto CodeElement en un objeto CodeNamespace y utilizar después la propiedad Members.
La propiedad Children devuelve la colección de todos los objetos CodeElement2 relacionados a los que se pueda hacer referencia a través de este elemento de código.Por ejemplo, para un objeto CodeClass2, 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 contribuido basado en la característica de programación con atributos de Visual C++, parámetros de plantilla, etc.Un objeto CodeFunction2 podría incluir todos sus parámetros, los parámetros contribuidos basados en la característica de programación con atributos, etc.
La propiedad Children puede devolver Nothing o null dependiendo del objeto y del lenguaje.No es necesario que Visual Studio admita esto último.
Ejemplos
El siguiente ejemplo crea un nuevo espacio de nombres y atributo en la clase actual y muestra algunas de las propiedades del 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);
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
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)