CodeAttribute2.Children, propriété
Obtient une collection d'objets contenus dans cette construction de code.
Espace de noms : EnvDTE80
Assembly : EnvDTE80 (dans EnvDTE80.dll)
Syntaxe
'Déclaration
ReadOnly Property Children As CodeElements
CodeElements Children { get; }
property CodeElements^ Children {
CodeElements^ get ();
}
abstract Children : CodeElements
function get Children () : CodeElements
Valeur de propriété
Type : EnvDTE.CodeElements
Retourne une collection CodeElements.
Notes
Si un objet ne possède pas d'enfant, la valeur Nothing ou nullune référence null (Nothing en Visual Basic) est retournée.
Cette propriété est principalement utilisée par Visual C++.La propriété Children retourne chaque objet pouvant être retourné à partir d'un élément de code.Ainsi, une classe retourne des membres, des bases, des interfaces implémentées, des attributs, des commentaires, etc.
Pour itérer au sein des membres d'un espace de noms ou d'un type (classe, struct, interface, etc.), vous devez interroger l'interface (QI) ou effectuer un cast de l'objet CodeElement en un objet CodeNamespace, puis utiliser la propriété Members.
La propriété Children retourne la collection de tous les objets CodeElement2 liés qui peuvent être référencés par l'intermédiaire de cet élément de code.Par exemple, pour un objet CodeClass2, il peut s'agir des éléments de code de métadonnées de la classe et peut-être des declspec de Visual C++, ainsi que du code contribué basé sur la fonctionnalité Programmation par attributs de Visual C++, de paramètres de modèle, etc.Un objet CodeFunction2 peut comprendre tous ses paramètres, ses paramètres contribués basés sur la fonction Programmation par attributs, etc.
La propriété Children peut retourner la valeur Nothing ou null , selon l'objet et le langage.La prise en charge de cette propriété n'est pas obligatoire dans Visual Studio.
Exemples
L'exemple suivant crée un espace de noms et un attribut dans la classe actuelle, et répertorie certaines des propriétés de l'attribut.
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);
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
Autres ressources
Comment : compiler et exécuter les exemples de code du modèle objet Automation
Découverte de code à l'aide du modèle de code (Visual Basic)