CodeElement2 – rozhraní
Představuje prvek kódu nebo konstrukce ve zdrojovém souboru.
Obor názvů: EnvDTE80
Sestavení: EnvDTE80 (v EnvDTE80.dll)
Syntaxe
'Deklarace
<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
Typ CodeElement2 zveřejňuje následující členy.
Vlastnosti
Název | Popis | |
---|---|---|
Children | (Zděděno z CodeElement.) | |
Children | Získá kolekci objektů obsažených v této CodeElement2. | |
Collection | (Zděděno z CodeElement.) | |
Collection | Získává CodeElements obsahující kolekce CodeElement2 podporující vlastnost. | |
DTE | (Zděděno z CodeElement.) | |
DTE | Načtení objektu nejvyšší úrovně rozšiřitelnosti. | |
ElementID | Hodnota, která jednoznačně identifikuje prvek získá.Není implementován v jazyce Visual C#. | |
EndPoint | (Zděděno z CodeElement.) | |
EndPoint | Získá text bodu, který je umístění konci kódu položky. | |
Extender[String] | (Zděděno z CodeElement.) | |
Extender[String] | Vrátí požadované zařízení Extender, pokud je k dispozici pro tento CodeElement2 objektu.Není implementován v jazyce Visual C#. | |
ExtenderCATID | (Zděděno z CodeElement.) | |
ExtenderCATID | ID kategorie zařízení Extender (CATID) získá CodeElement2 objektu.Není implementován v jazyce Visual C#. | |
ExtenderNames | (Zděděno z CodeElement.) | |
ExtenderNames | Získá seznam dostupných zařízení Extender pro CodeElement2 objektu.Není implementován v jazyce Visual C#. | |
FullName | (Zděděno z CodeElement.) | |
FullName | Získá název a úplnou cestu CodeElement2 objektu souboru. | |
InfoLocation | (Zděděno z CodeElement.) | |
InfoLocation | Získá schopnosti modelu kódu. | |
IsCodeType | (Zděděno z CodeElement.) | |
IsCodeType | Získá, zda CodeType objektu lze získat CodeElement2 objektu. | |
Kind | (Zděděno z CodeElement.) | |
Kind | Výčet definující typ prvku kód získá. | |
Language | (Zděděno z CodeElement.) | |
Language | Programovací jazyk používaný získává Autor CodeElement2. | |
Name | (Zděděno z CodeElement.) | |
Name | Získá nebo nastaví název CodeElement2 objektu. | |
ProjectItem | (Zděděno z CodeElement.) | |
ProjectItem | Získává ProjectItem přidružené k objektu CodeElement objektu. | |
StartPoint | (Zděděno z CodeElement.) | |
StartPoint | Získává TextPoint objektu, který definuje začátek CodeElement2. |
Na začátek
Metody
Název | Popis | |
---|---|---|
GetEndPoint(vsCMPart) | (Zděděno z CodeElement.) | |
GetEndPoint(vsCMPart) | Získává TextPoint objekt, který označuje konec definice prvku kódu. | |
GetStartPoint(vsCMPart) | (Zděděno z CodeElement.) | |
GetStartPoint(vsCMPart) | Získává TextPoint objekt, který označuje začátek definice prvku kódu. | |
RenameSymbol | Změní název objektu deklarovaného a aktualizuje všechny odkazy na objekt v rámci aktuálního projektu. |
Na začátek
Poznámky
Prvek kódu může být libovolný fragment kódu, ale obecně je CodeElement2 objekt pro každou definici nebo deklarativní syntaxe jazyka. To znamená, že většina definice nejvyšší úrovně nebo prohlášení v souboru nebo syntaktické formuláře v definici třídy a podobně je odpovídající CodeElement2 objektu.
Poznámka
Deterministický může být po provedení určité typy úprav, což znamená, že jejich hodnoty nelze dovolávat vždy zůstat stejné hodnoty prvků modelu kód jako třídy, struktury, funkce, atributy, delegátů a tak dále. Další informace naleznete v části Změna hodnoty prvku modelu kódu Discovering Code by Using the Code Model (Visual Basic).
Příklady
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);
}
}
Viz také
Odkaz
Další zdroje
How to: Compile and Run the Automation Object Model Code Examples