Proprietà CodeAttribute2.Children
Ottiene un insieme di oggetti contenuti nel costrutto di codice.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
ReadOnly Property Children As CodeElements
Get
CodeElements Children { get; }
property CodeElements^ Children {
CodeElements^ get ();
}
abstract Children : CodeElements
function get Children () : CodeElements
Valore proprietà
Tipo: EnvDTE.CodeElements
Restituisce un insieme CodeElements.
Implementa
Note
Se un oggetto non dispone di elementi figlio, verrà restituito Nothing o nullriferimento null (Nothing in Visual Basic).
La proprietà è utilizzata principalmente in Visual C++. La proprietà Children restituisce tutti gli oggetti restituibili da un elemento di codice. Una classe, ad esempio, restituisce membri, basi, interfacce implementate, attributi, commenti e così via.
Per scorrere i membri di uno spazio dei nomi o di un tipo, vale a dire classe, struct, interfaccia e così via, è necessario eseguire il QI (Query Interface) o il cast dell'oggetto CodeElement a un oggetto CodeNamespace, quindi utilizzare la proprietà Members.
La proprietà Children restituisce l'insieme di tutti gli oggetti CodeElement2 correlati a cui è possibile fare riferimento mediante l'elemento di codice. Nel caso di un oggetto CodeClass2, ad esempio, possono essere inclusi gli elementi di codice dei metadati per la classe ed eventualmente le declspec di Visual C++, nonché il codice fornito in base alla funzionalità di programmazione con attributi di Visual C++, i parametri dei modelli e così via. Un oggetto CodeFunction2 può includere tutti i relativi parametri, i parametri forniti in base alla funzionalità di programmazione con attributi e così via.
La proprietà Children può restituire Nothing o null a seconda dell'oggetto e del linguaggio. In Visual Studio non è previsto un requisito per il supporto.
Esempi
Nell'esempio riportato di seguito vengono creati uno spazio dei nomi e un attributo nuovi nella classe corrente e vengono elencate alcune proprietà dell'attributo.
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);
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Altre risorse
Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione
Individuazione di codice mediante il modello di codice (Visual Basic)
Individuazione di codice mediante il modello di codice (Visual C#)