Freigeben über


CodeClass2-Schnittstelle

Aktualisiert: November 2007

Stellt eine Klasse im Quellcode dar.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")> _
Public Interface CodeClass2 _
    Implements CodeClass

Dim instance As CodeClass2
[GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface CodeClass2 : CodeClass
[GuidAttribute(L"295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface class CodeClass2 : CodeClass
public interface CodeClass2 extends CodeClass

Hinweise

Mit der Einführung von Blaupausen und partiellen Klassen kann es vorkommen, dass mehrere CodeClass-Objekte pro kompilierter Klasse vorhanden sind. In einer Datei ist jeweils eine Instanz eines CodeClass-Objekts für jede Klasse enthalten. Das CodeClass2-Objekt kann bestimmen, ob es eine partielle oder eine vollständige Klasse darstellt und ob es als XML-Blaupause oder als Code implementiert wird. Änderungen oder Ergänzungen des CodeClass2-Objekts können nur in diesen Teil (bzw. diese Datei) der Klasse geschrieben werden.

Hinweis:

Die Werte von Codemodellelementen wie Klassen, Strukturen, Funktionen, Attributen, Delegaten usw. können nach bestimmten Bearbeitungsvorgängen nicht deterministisch sein, d. h., dass nicht mehr davon ausgegangen werden kann, dass ihre Werte immer unverändert bleiben. Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

' Macro code.
Sub CodeClass2Example()
    ' Iterates through the main class and
    ' lists its parts.
    Dim sel As TextSelection
    Dim myClass1 As EnvDTE80.CodeClass2
    Dim classPart As EnvDTE80.CodeClass2

    sel = applicationObject.ActiveDocument.Selection
    myClass1 = sel.ActivePoint.CodeElement _
    (vsCMElement.vsCMElementClass)
    If myClass1.ClassKind = _
    vsCMClassKind.vsCMClassKindMainClass Then
        For Each classPart In myClass1.Collection
            MsgBox(classPart.Name)
        Next
    End If
End Sub

Siehe auch

Referenz

CodeClass2-Member

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)