Interfejs CodeElement2
Reprezentuje element kodu lub konstrukcji w pliku źródłowym.
Przestrzeń nazw: EnvDTE80
Zestaw: EnvDTE80 (w EnvDTE80.dll)
Składnia
'Deklaracja
<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 uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
Children | (Odziedziczone z CodeElement). | |
Children | Zwraca kolekcję obiektów zawartych w ramach tego CodeElement2. | |
Collection | (Odziedziczone z CodeElement). | |
Collection | Pobiera CodeElements kolekcji zawierających CodeElement2 obsługującej tę właściwość. | |
DTE | (Odziedziczone z CodeElement). | |
DTE | Pobiera obiekt rozszerzalności najwyższego poziomu. | |
ElementID | Pobiera wartość, która jednoznacznie identyfikuje element.Nie zaimplementowane w środowisku Visual C#. | |
EndPoint | (Odziedziczone z CodeElement). | |
EndPoint | Pobiera punkt tekstu, który znajduje się na końcu ppkt kodu. | |
Extender[String] | (Odziedziczone z CodeElement). | |
Extender[String] | Zwraca żądane urządzenie Extender, jeśli jest on dostępny dla tej CodeElement2 obiektu.Nie zaimplementowane w środowisku Visual C#. | |
ExtenderCATID | (Odziedziczone z CodeElement). | |
ExtenderCATID | Pobiera identyfikator kategorii urządzenia Extender (Identyfikator CATID) dla CodeElement2 obiektu.Nie zaimplementowane w środowisku Visual C#. | |
ExtenderNames | (Odziedziczone z CodeElement). | |
ExtenderNames | Pobiera listę dostępnych urządzeń Extender dla CodeElement2 obiektu.Nie zaimplementowane w środowisku Visual C#. | |
FullName | (Odziedziczone z CodeElement). | |
FullName | Pobiera pełną ścieżkę i nazwę CodeElement2 pliku obiektu. | |
InfoLocation | (Odziedziczone z CodeElement). | |
InfoLocation | Pobiera możliwości modelu kodu. | |
IsCodeType | (Odziedziczone z CodeElement). | |
IsCodeType | Pobiera czy też nie CodeType obiektu, można otrzymać od CodeElement2 obiektu. | |
Kind | (Odziedziczone z CodeElement). | |
Kind | Pobiera wyliczenie, który definiuje typ elementu kodu. | |
Language | (Odziedziczone z CodeElement). | |
Language | Pobiera język programowania, który jest używany do autora CodeElement2. | |
Name | (Odziedziczone z CodeElement). | |
Name | Zwraca lub ustawia nazwę CodeElement2 obiektu. | |
ProjectItem | (Odziedziczone z CodeElement). | |
ProjectItem | Pobiera ProjectItem obiektu skojarzonego z CodeElement obiektu. | |
StartPoint | (Odziedziczone z CodeElement). | |
StartPoint | Pobiera TextPoint obiektu, który definiuje początek CodeElement2. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
GetEndPoint(vsCMPart) | (Odziedziczone z CodeElement). | |
GetEndPoint(vsCMPart) | Pobiera TextPoint obiekt, który oznacza koniec definicji elementu kodu. | |
GetStartPoint(vsCMPart) | (Odziedziczone z CodeElement). | |
GetStartPoint(vsCMPart) | Pobiera TextPoint obiekt, który oznacza początek definicji elementu kodu. | |
RenameSymbol | Zmienia nazwę obiektu deklarowanej i aktualizuje wszystkie odwołania kodu do obiektów w zakresie bieżącego projektu. |
Początek
Uwagi
Element kodu może być dowolnego fragmentu kodu, ale jest ogólnie, CodeElement2 obiektu dla każdej definicji lub deklaracyjne składni języka.Oznacza to, że najbardziej definicje najwyższego poziomu lub deklaracje w pliku lub dla każdej postaci składni w definicji klasy i tak dalej, istnieje odpowiadającego CodeElement2 obiektu.
[!UWAGA]
Po dokonaniu niektórych rodzajów modyfikacji, co oznacza, że ich wartości nie może polegać na zawsze pozostawać taki sam może być nie deterministyczny wartości elementów modelu kodu, takich jak klasy, strukturach, funkcje, atrybuty, delegatów i tak dalej.Aby uzyskać więcej informacji, zobacz sekcję wartości elementu modelu kod można zmienić w Odkrywanie kod przy użyciu modelu kodu (Visual Basic).
Przykłady
[Programu 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);
}
}
Zobacz też
Informacje
Inne zasoby
Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji