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í kolekci CodeElement2 , která podporuje tuto 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áno v aplikaci Visual C#. | |
EndPoint | (Zděděno z CodeElement.) | |
EndPoint | Získá text bodu, který je umístění na 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áno v aplikaci Visual C#. | |
ExtenderCATID | (Zděděno z CodeElement.) | |
ExtenderCATID | ID kategorie zařízení Extender (CATID) získá CodeElement2 objektu.Není implementováno v aplikaci Visual C#. | |
ExtenderNames | (Zděděno z CodeElement.) | |
ExtenderNames | Získá seznam dostupných zařízení Extender pro CodeElement2 objektu.Není implementováno v aplikaci 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 | Získá programovací jazyk, který slouží k Autor CodeElement2. | |
Name | (Zděděno z CodeElement.) | |
Name | Získá nebo nastaví název objektu CodeElement2. | |
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. |
Nahoru
Metody
Název | Popis | |
---|---|---|
GetEndPoint(vsCMPart) | (Zděděno z CodeElement.) | |
GetEndPoint(vsCMPart) | Získává TextPoint objekt, který označuje konec definice prvku. | |
GetStartPoint(vsCMPart) | (Zděděno z CodeElement.) | |
GetStartPoint(vsCMPart) | Získává TextPoint objekt, který označuje začátek elementu definice kódu. | |
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
Další zdroje
Jak: kompilace a spuštění příkladů kódu automatizace objektu modelu