Sdílet prostřednictvím


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
Veřejná vlastnost Children (Zděděno z CodeElement.)
Veřejná vlastnost Children Získá kolekci objektů obsažených v této CodeElement2.
Veřejná vlastnost Collection (Zděděno z CodeElement.)
Veřejná vlastnost Collection Získává CodeElements obsahující kolekci CodeElement2 , která podporuje tuto vlastnost.
Veřejná vlastnost DTE (Zděděno z CodeElement.)
Veřejná vlastnost DTE Načtení objektu nejvyšší úrovně rozšiřitelnosti.
Veřejná vlastnost ElementID Hodnota, která jednoznačně identifikuje prvek získá.Není implementováno v aplikaci Visual C#.
Veřejná vlastnost EndPoint (Zděděno z CodeElement.)
Veřejná vlastnost EndPoint Získá text bodu, který je umístění na konci kódu položky.
Veřejná vlastnost Extender[String] (Zděděno z CodeElement.)
Veřejná vlastnost Extender[String] Vrátí požadované zařízení Extender, pokud je k dispozici pro tento CodeElement2 objektu.Není implementováno v aplikaci Visual C#.
Veřejná vlastnost ExtenderCATID (Zděděno z CodeElement.)
Veřejná vlastnost ExtenderCATID ID kategorie zařízení Extender (CATID) získá CodeElement2 objektu.Není implementováno v aplikaci Visual C#.
Veřejná vlastnost ExtenderNames (Zděděno z CodeElement.)
Veřejná vlastnost ExtenderNames Získá seznam dostupných zařízení Extender pro CodeElement2 objektu.Není implementováno v aplikaci Visual C#.
Veřejná vlastnost FullName (Zděděno z CodeElement.)
Veřejná vlastnost FullName Získá název a úplnou cestu CodeElement2 objektu souboru.
Veřejná vlastnost InfoLocation (Zděděno z CodeElement.)
Veřejná vlastnost InfoLocation Získá schopnosti modelu kódu.
Veřejná vlastnost IsCodeType (Zděděno z CodeElement.)
Veřejná vlastnost IsCodeType Získá, zda CodeType objektu lze získat CodeElement2 objektu.
Veřejná vlastnost Kind (Zděděno z CodeElement.)
Veřejná vlastnost Kind Výčet definující typ prvku kód získá.
Veřejná vlastnost Language (Zděděno z CodeElement.)
Veřejná vlastnost Language Získá programovací jazyk, který slouží k Autor CodeElement2.
Veřejná vlastnost Name (Zděděno z CodeElement.)
Veřejná vlastnost Name Získá nebo nastaví název objektu CodeElement2.
Veřejná vlastnost ProjectItem (Zděděno z CodeElement.)
Veřejná vlastnost ProjectItem Získává ProjectItem přidružené k objektu CodeElement objektu.
Veřejná vlastnost StartPoint (Zděděno z CodeElement.)
Veřejná vlastnost StartPoint Získává TextPoint objektu, který definuje začátek CodeElement2.

Nahoru

Metody

  Název Popis
Veřejná metoda GetEndPoint(vsCMPart) (Zděděno z CodeElement.)
Veřejná metoda GetEndPoint(vsCMPart) Získává TextPoint objekt, který označuje konec definice prvku.
Veřejná metoda GetStartPoint(vsCMPart) (Zděděno z CodeElement.)
Veřejná metoda GetStartPoint(vsCMPart) Získává TextPoint objekt, který označuje začátek elementu definice kódu.
Veřejná metoda RenameSymbol Změní název objektu deklarovaného a aktualizuje všechny odkazy na objekt v rámci aktuálního projektu.

Nahoru

Poznámky

Prvek kódu může být jakýkoli fragment kódu, ale obecně je CodeElement2 objekt pro každé definice nebo deklarativní syntaxe jazyka.To znamená, že pro většinu definice nejvyšší úrovně nebo prohlášení v souboru nebo pro všechny syntaktické formuláře v definici třídy a tak dále, je 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 prvku modelu kódu Zjištění kódu pomocí kódu modelu (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

EnvDTE80 – obor názvů

Další zdroje

Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu

Zjištění kódu pomocí kódu modelu (Visual Basic)

Zjištění kódu pomocí kódu modelu (Visual C#)