Interfaccia CodeElement2
Rappresenta un costrutto o un elemento di codice in un file di origine.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")> _
Public Interface CodeElement2 _
Inherits CodeElement
[GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface CodeElement2 : CodeElement
[GuidAttribute(L"F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")]
public interface class CodeElement2 : CodeElement
[<GuidAttribute("F03DCCE8-233B-43D7-A66B-A66EFC1F85C3")>]
type CodeElement2 =
interface
interface CodeElement
end
public interface CodeElement2 extends CodeElement
Il tipo CodeElement2 espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
Children | (Ereditato da CodeElement) | |
Children | Ottiene una raccolta di oggetti contenuti in questo CodeElement2. | |
Collection | (Ereditato da CodeElement) | |
Collection | ottiene CodeElements contenuto della raccolta CodeElement2 che supporta tale proprietà. | |
DTE | (Ereditato da CodeElement) | |
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
ElementID | Ottiene un valore che identifica in modo univoco l'elemento.Non implementato in Visual c#. | |
EndPoint | (Ereditato da CodeElement) | |
EndPoint | Ottiene il punto di inserimento corrispondente alla fine dell'elemento di codice. | |
Extender[String] | (Ereditato da CodeElement) | |
Extender[String] | restituisce l'estensione richiesta se è disponibile per questa CodeElement2 oggetto.Non implementato in Visual c#. | |
ExtenderCATID | (Ereditato da CodeElement) | |
ExtenderCATID | Ottiene l'ID della categoria extender (CATID) per CodeElement2 oggetto.Non implementato in Visual c#. | |
ExtenderNames | (Ereditato da CodeElement) | |
ExtenderNames | Ottiene un elenco degli extender disponibili per CodeElement2 oggetto.Non implementato in Visual c#. | |
FullName | (Ereditato da CodeElement) | |
FullName | Ottiene il percorso completo e il nome di CodeElement2 il file dell'oggetto. | |
InfoLocation | (Ereditato da CodeElement) | |
InfoLocation | Ottiene le funzionalità del modello di codice. | |
IsCodeType | (Ereditato da CodeElement) | |
IsCodeType | Ottiene indipendentemente da a CodeType l'oggetto può essere ottenuto dal CodeElement2 oggetto. | |
Kind | (Ereditato da CodeElement) | |
Kind | ottiene un'enumerazione che definisce il tipo di elemento di codice. | |
Language | (Ereditato da CodeElement) | |
Language | Ottiene il linguaggio di programmazione utilizzato per creare CodeElement2. | |
Name | (Ereditato da CodeElement) | |
Name | Ottiene o imposta il nome del CodeElement2 oggetto. | |
ProjectItem | (Ereditato da CodeElement) | |
ProjectItem | ottiene ProjectItem oggetto associato a CodeElement oggetto. | |
StartPoint | (Ereditato da CodeElement) | |
StartPoint | Ottiene un oggetto TextPoint oggetto che definisce l'inizio di CodeElement2. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
GetEndPoint(vsCMPart) | (Ereditato da CodeElement) | |
GetEndPoint(vsCMPart) | Ottiene un oggetto TextPoint oggetto che contrassegna la fine della definizione dell'elemento di codice. | |
GetStartPoint(vsCMPart) | (Ereditato da CodeElement) | |
GetStartPoint(vsCMPart) | Ottiene un oggetto TextPoint oggetto che definisce l'inizio della definizione dell'elemento di codice. | |
RenameSymbol | Modifica il nome dichiarato di un oggetto e aggiorna tutti i riferimenti al codice all'oggetto nel progetto corrente. |
In alto
Note
Un elemento di codice può essere qualsiasi frammento di codice, ma in genere, sono disponibili CodeElement2 oggetto per ogni definizione o sintassi dichiarativa in un linguaggio.Ciò significa che per la maggior parte delle definizioni o dichiarazioni di primo livello in un file, o per qualsiasi forma sintattica nella definizione di una classe, e così via, esiste una corrispondenza CodeElement2 oggetto.
[!NOTA]
I valori degli elementi del modello di codice come classi, strutture, le funzioni, gli attributi, delegati, e così via possono non essere deterministici dopo l'inserimento di determinati tipi di modifiche, pertanto i relativi valori non possono essere basati su per rimanere sempre gli stessi.Per ulteriori informazioni, vedere i valori degli elementi del modello di codice della sezione può cambiare in Individuazione di codice mediante il modello di codice (Visual Basic).
Esempi
[Visual Basic]
Sub IsCodeTypeExample(ByVal dte As DTE2)
' NOTE: This example requires a reference to the System.Text
' namespace.
' Before running this example, open a code document from a project.
Dim item As ProjectItem = dte.ActiveDocument.ProjectItem
Dim sb As New StringBuilder
RecurseElements(item.FileCodeModel.CodeElements, 0, sb)
MsgBox(item.Name & " contains the following elements:" & vbCrLf & _
vbCrLf & sb.ToString())
End Sub
Sub RecurseElements(ByVal elems As CodeElements, _
ByVal level As Integer, ByVal sb As StringBuilder)
Dim elem As CodeElement
For Each elem In elems
' Add element to the list of names.
sb.Append(" "c, level * 8)
sb.Append(elem.Name & " [" & elem.Kind.ToString() & "]" & _
vbCrLf)
' Call this function recursively if element has children.
If elem.Kind = vsCMElement.vsCMElementNamespace Then
RecurseElements(CType(elem, CodeNamespace).Members, _
level + 1, sb)
ElseIf elem.IsCodeType Then
RecurseElements(CType(elem, CodeType).Members, _
level + 1, sb)
End If
Next
End Sub
[C#]
public void IsCodeTypeExample(DTE2 dte)
{
// NOTE: This example requires a reference to the System.Text
// namespace.
// Before running this example, open a code document from a
// project.
ProjectItem item = dte.ActiveDocument.ProjectItem;
StringBuilder sb = new StringBuilder();
RecurseElements(item.FileCodeModel.CodeElements, 0, sb);
MessageBox.Show(item.Name + " contains the following elements:" +
Environment.NewLine + Environment.NewLine + sb.ToString());
}
void RecurseElements(CodeElements elems, int level, StringBuilder sb)
{
foreach (CodeElement elem in elems)
{
// Add element to the list of names.
sb.Append(' ', level * 8);
sb.Append(elem.Name + " [" + elem.Kind.ToString() + "]" +
Environment.NewLine);
// Call this function recursively if element has children.
if (elem.Kind == vsCMElement.vsCMElementNamespace)
RecurseElements(((CodeNamespace)elem).Members,
level + 1, sb);
else if (elem.IsCodeType)
RecurseElements(((CodeType)elem).Members, level + 1, sb);
}
}
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#)