CodeAttribute2.Children-Eigenschaft
Ruft eine Auflistung von Objekten ab, die in diesem Codekonstrukt enthalten sind.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property Children As CodeElements
CodeElements Children { get; }
property CodeElements^ Children {
CodeElements^ get ();
}
abstract Children : CodeElements with get
function get Children () : CodeElements
Eigenschaftswert
Typ: CodeElements
Gibt eine CodeElements-Auflistung zurück.
Hinweise
Wenn ein Objekt keine untergeordneten Elemente aufweist, wird Nothing oder nullein Nullverweis (Nothing in Visual Basic) zurückgegeben.
Diese Eigenschaft wird primär von Visual C++ verwendet. Die Children-Eigenschaft gibt jedes Objekt zurück, das von einem Codeelement zurückgegeben werden kann. Eine Klasse gibt z. B. Member, Basen, implementierte Schnittstellen, Attribute, Kommentare usw. zurück.
Zum Durchlaufen der Member eines Namespaces oder Typs (Klasse, Struktur, Schnittstelle usw.) müssen Sie eine Schnittstellenabfrage durchführen oder das CodeElement-Objekt in ein CodeNamespace-Objekt umwandeln und dann die Members-Eigenschaft verwenden.
Die Children-Eigenschaft gibt die Auflistung aller zugehörigen CodeElement2-Objekte zurück, auf die über dieses Codeelement verwiesen werden kann. Bei einem CodeClass2-Objekt kann dies z. B. Folgendes umfassen: die Metadatencodeelemente für die Klasse und ggf. die Visual C++-declspecs, bereitgestellten Code, der auf dem Feature für die attributierte Programmierung in Visual C++ basiert, sowie Vorlagenparameter usw. Ein CodeFunction2-Objekt kann sämtliche Parameter sowie bereitgestellte Parameter auf Grundlage des Features für die attributierte Programmierung usw. enthalten.
Die Children-Eigenschaft gibt, abhängig vom Objekt und der Sprache, Nothing oder null zurück. In Visual Studio ist keine Unterstützung erforderlich.
Beispiele
Im folgenden Beispiel werden in der aktuellen Klasse ein neuer Namespace und ein neues Attribut erstellt und einige der Attributeigenschaften aufgelistet.
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-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell