CodeAttribute2.Children Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets a collection of objects contained within this code construct.
public:
property EnvDTE::CodeElements ^ Children { EnvDTE::CodeElements ^ get(); };
[System.Runtime.InteropServices.DispId(8)]
public EnvDTE.CodeElements Children { [System.Runtime.InteropServices.DispId(8)] [System.Runtime.InteropServices.TypeLibFunc(1024)] get; }
[<System.Runtime.InteropServices.DispId(8)>]
[<get: System.Runtime.InteropServices.DispId(8)>]
[<get: System.Runtime.InteropServices.TypeLibFunc(1024)>]
member this.Children : EnvDTE.CodeElements
Public ReadOnly Property Children As CodeElements
Property Value
Returns a CodeElements collection.
Implements
- Attributes
Examples
The following example creates a new namespace and attribute in the current class and lists some of the attribute's properties.
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);
}
}
Remarks
If an object has no children, then Nothing
or null
is returned.
This property is used primarily by Visual C++. The Children property returns every object returnable from a code element. A class, for example, returns members, bases, implemented interfaces, attributes, comments, and so forth.
To iterate through the members of a namespace or type (class, struct, interface, and so forth), you must query interface (QI) or cast the CodeElement object to a CodeNamespace object and then use the Members property.
The Children property returns the collection of all related CodeElement2 objects that can be referenced via this code element. For example, for a CodeClass2 object, this might include the metadata code elements for the class and perhaps the Visual C++ declspecs, along with contributed code based on the Attributed Programming feature in Visual C++, template parameters, and so forth. A CodeFunction2 object might include all of its parameters, contributed parameters based on the Attributed Programming feature, and so forth.
The Children property may return Nothing
or null
depending on the object and the language. There is no requirement to support this in Visual Studio.