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 | Získá kolekci objektů obsažených v této CodeElement2. |
![]() |
Collection | Získá CodeElements obsahující kolekci CodeElement2 , který podporuje tuto vlastnost. |
![]() |
DTE | Získá objekt nejvyšší úrovně rozšiřitelnosti. |
![]() |
ElementID | Získá hodnotu, která jednoznačně identifikuje prvek.Není implementováno v jazyce Visual C#. |
![]() |
EndPoint | Získá text bodu, který je umístěn na konec kódu položky. |
![]() |
Extender | Požadovaná zařízení Extender vrátí, pokud je k dispozici pro tento CodeElement2 objektu.Není implementováno v jazyce Visual C#. |
![]() |
ExtenderCATID | ID kategorie zařízení Extender (CATID) získá CodeElement2 objektu.Není implementováno v jazyce Visual C#. |
![]() |
ExtenderNames | Získá seznam dostupných zařízení Extender pro CodeElement2 objektu.Není implementováno v jazyce Visual C#. |
![]() |
FullName | Získá název a úplnou cestu CodeElement2 soubor objektu. |
![]() |
InfoLocation | Získá schopnosti modelu kódu. |
![]() |
IsCodeType | Získá zda CodeType objektu lze získat CodeElement2 objektu. |
![]() |
Kind | Získá výčtu, který určuje typ prvku kódu. |
![]() |
Language | Programovací jazyk používaný získává autorovi CodeElement2. |
![]() |
Name | Získá nebo nastaví název objektu CodeElement2. |
![]() |
ProjectItem | Získá ProjectItem objekt přidružený CodeElement objektu. |
![]() |
StartPoint | Získá TextPoint objektu, který definuje začátek CodeElement2. |
Nahoru
Metody
Název | Popis | |
---|---|---|
![]() |
GetEndPoint | Získá TextPoint objekt, který označuje konec definice prvku kódu. |
![]() |
GetStartPoint | Získá TextPoint objekt, který označuje začátek definice prvku kódu. |
![]() |
RenameSymbol | Změní název objektu deklarovaného a aktualizuje všechny kód odkazy na objekt v rámci aktuálního projektu. |
Nahoru
Poznámky
Prvek kódu může být libovolný fragment kódu, ale obecně platí, že je CodeElement2 objekt pro každou definici nebo deklarativní syntaxe jazyka.To znamená, že pro většinu definice nejvyšší úrovně nebo prohlášení v souboru nebo syntaktické formuláře v definici třídy a tak dále, existuje odpovídající CodeElement2 objektu.
[!POZNÁMKA]
Není 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 prvků modelu kód Zjišťování kódu pomocí modelu kódu (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é
Referenční dokumentace
Další zdroje
Postupy: Kompilace a spuštění příkladů kódu objektu automatizace