CodeClass2-Schnittstelle
Stellt eine Klasse im Quellcode dar.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")> _
Public Interface CodeClass2 _
Inherits CodeClass
[GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface CodeClass2 : CodeClass
[GuidAttribute(L"295ADCD4-B052-49EE-934E-C6B36862A7C6")]
public interface class CodeClass2 : CodeClass
[<GuidAttribute("295ADCD4-B052-49EE-934E-C6B36862A7C6")>]
type CodeClass2 =
interface
interface CodeClass
end
public interface CodeClass2 extends CodeClass
Der CodeClass2-Typ macht die folgenden Member verfügbar.
Eigenschaften
Name | Beschreibung | |
---|---|---|
Access | Legt die Zugriffsattribute dieser Codeklasse fest oder ruft sie ab. | |
Attributes | Ruft eine Auflistung aller Attribute für die Codeklasse ab. | |
Bases | Ruft eine Auflistung von Klassen ab, aus denen diese Codeklasse abgeleitet ist. | |
Children | Ruft eine Auflistung von Objekten ab, die in dieser Codeklasse enthalten sind. | |
ClassKind | Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen. | |
Collection | Ruft die Auflistung ab, die in der Codeklasse enthalten ist. | |
Comment | Legt den der Codeklasse zugeordneten Kommentar fest oder ruft diesen ab. | |
DataTypeKind | Legt die Beziehung dieser Klasse mit anderen Klassen fest bzw. ruft diese ab. | |
DerivedTypes | Ruft eine Auflistung von Objekten ab, die von der Codeklasse abgeleitet sind.Nicht implementiert in Visual C#. | |
DocComment | Ruft den Dokumentkommentar für die Codeklasse ab bzw. legt diesen fest. | |
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
EndPoint | Ruft den Bearbeitungspunkt ab, der die Position am Ende der Codeklasse darstellt. | |
Extender | Gibt das angeforderte Extenderobjekt zurück, falls es für die Codeklasse verfügbar ist.Nicht implementiert in Visual C#. | |
ExtenderCATID | Ruft die ID der Extenderkategorie (CATID) für die Codeklasse ab.Nicht implementiert in Visual C#. | |
ExtenderNames | Ruft eine Liste der für die Codeklasse verfügbaren Extender ab.Nicht implementiert in Visual C#. | |
FullName | Ruft den vollständigen Pfad und den Namen der Datei der Codeklasse ab. | |
ImplementedInterfaces | Ruft eine Auflistung der Schnittstellen ab, die von der Codeklasse implementiert werden. | |
InfoLocation | Ruft die Funktionen des Codemodells ab. | |
InheritanceKind | Ruft einen Wert ab, der anzeigt, ob eine Klasse zum Erstellen einer neuen Klasse verwendet werden kann, oder legt diesen Wert fest. | |
IsAbstract | Legt fest oder ruft ab, ob die Codeklasse abstrakt deklariert wird. | |
IsCodeType | Ruft einen Wert ab, der angibt, ob ein CodeType-Objekt aus dieser Codeklasse abgerufen werden kann. | |
IsDerivedFrom | Ruft einen Wert ab, der angibt, ob die Codeklasse über eine andere Codeklasse als Basis verfügt. | |
IsGeneric | Ruft einen Wert ab, der angibt, ob die aktuelle Klasse oder Struktur generisch ist. | |
IsShared | Ruft den freigegebenen (statischen) Status der Klasse ab oder legt ihn fest. | |
Kind | Ruft eine Enumeration ab, die den Typ der Klasse anzeigt. | |
Language | Ruft die zum Schreiben der Klasse verwendete Programmiersprache ab. | |
Members | Ruft eine Auflistung der Codeelemente ab, die in der Klasse enthalten sind. | |
Name | Legt den Namen der Klasse fest oder ruft ihn ab. | |
Namespace | Ruft ein CodeNamespace-Objekt ab, das den übergeordneten Namespace der Klasse definiert. | |
Parent | Ruft das unmittelbar übergeordnete Objekt der Klasse ab. | |
PartialClasses | Infrastruktur. Nur für die interne Verwendung durch Microsoft vorgesehen. | |
Parts | Ruft Teile einer Klasse ab. | |
ProjectItem | Ruft das dem angegebenen Objekt zugeordnete ProjectItem ab. | |
StartPoint | Ruft ein TextPoint-Objekt ab, das den Anfang der Klasse definiert. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AddAttribute | Erstellt ein neues Attributcodekonstrukt und fügt die Klasse an der korrekten Position ein. | |
AddBase | Fügt der Liste der geerbten Objekte ein Element hinzu. | |
AddClass | Erstellt eine neue Klasse in der angegebenen Codeklasse. | |
AddDelegate | Erstellt einen neuen Delegaten in der angegebenen Klasse. | |
AddEnum | Erstellt eine neue Enumeration in der Klasse. | |
AddEvent | Fügt ein Klassenereignis hinzu. | |
AddFunction | Erstellt eine neue Funktion in der Klasse. | |
AddImplementedInterface | Fügt der Liste der geerbten Objekte eine Schnittstelle hinzu. | |
AddProperty | Erstellt ein neues Eigenschaftenkonstrukt in der Klasse. | |
AddStruct | Erstellt eine neue Struktur in der Klasse. | |
AddVariable | Erstellt eine neue Variable in der Klasse. | |
GetEndPoint | Ruft ein TextPoint-Objekt ab, das das Ende der Klasse markiert. | |
GetStartPoint | Ruft ein TextPoint-Objekt ab, das den Anfang der Klasse definiert. | |
RemoveBase | Entfernt ein Objekt aus der Basisliste. | |
RemoveInterface | Entfernt eine Schnittstelle aus der Liste der implementierten Schnittstellen. | |
RemoveMember | Entfernt einen Member der Klasse. |
Zum Seitenanfang
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
[Visual Basic]
' 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
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell