CodeAttribute2-Schnittstelle
Definiert ein Attribut für ein Codeelement.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")> _
Public Interface CodeAttribute2 _
Inherits CodeAttribute
[GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface CodeAttribute2 : CodeAttribute
[GuidAttribute(L"35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface class CodeAttribute2 : CodeAttribute
[<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")>]
type CodeAttribute2 =
interface
interface CodeAttribute
end
public interface CodeAttribute2 extends CodeAttribute
Der CodeAttribute2-Typ macht die folgenden Member verfügbar.
Eigenschaften
Name | Beschreibung | |
---|---|---|
Arguments | Ruft eine Auflistung von CodeElement-Objekten ab, die die diesem Attribut zugeordneten CodeAttributeArgument-Objekte enthält. | |
Children | Ruft eine Auflistung von Objekten ab, die in diesem Codekonstrukt enthalten sind. | |
Collection | Ruft eine Auflistung von CodeAttribute2-Objekten ab. | |
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
EndPoint | Ruft den Bearbeitungspunkt ab, der die Endposition des Codeattributs ist. | |
Extender | Gibt den angeforderten Extender zurück, falls er für dieses Codeattribut verfügbar ist. | |
ExtenderCATID | Ruft die ID der Extenderkategorie (CATID) für das Objekt ab. | |
ExtenderNames | Ruft eine Liste mit den Namen der für das Objekt verfügbaren Extender ab. | |
FullName | Ruft den vollständigen Pfad und Namen der Objektdatei ab. | |
InfoLocation | Ruft das Codemodell ab. | |
IsCodeType | Ruft ab, ob ein CodeType-Objekt aus diesem Objekt abgerufen werden kann. | |
Kind | Ruft eine Enumeration ab, die den Typ des Attributs angibt. | |
Language | Ruft eine Konstante ab, die die zum Erstellen des Attributs verwendete Programmiersprache angibt. | |
Name | Legt den Namen des Codeattributs fest oder ruft ihn ab. | |
Parent | Ruft das unmittelbar übergeordnete Objekt des Codeattributs ab. | |
ProjectItem | Ruft das dem Codeattribut zugeordnete ProjectItem ab. | |
StartPoint | Ruft ein TextPoint-Objekt ab, das den Anfang des Attributs definiert. | |
Target | Legt das Ziel des Codeattributs fest oder ruft es ab. | |
Value | Legt die Daten für das Codeattribut fest oder ruft sie ab. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AddArgument | Fügt dem Attribut ein Argument hinzu. | |
Delete | Entfernt alle Attribute im Codeelement. | |
GetEndPoint | Gibt ein TextPoint-Objekt zurück, das die Endposition des Attributs markiert. | |
GetStartPoint | Gibt ein TextPoint-Objekt zurück, das die Anfangsposition des Attributs definiert. |
Zum Seitenanfang
Hinweise
Das CodeAttribute2-Objekt stellt ein einzelnes COM-Metadatenattribut dar, das einem Codeelement zugeordnet ist. Mit der AddAttribute-Methode des entsprechenden Objekts können Sie neue Attribute hinzufügen, und mit der Delete-Methode des entsprechenden Objekts können Sie die Attribute löschen. Der Wert eines Codeattributs wird mit diesem Objekt abgerufen und festgelegt.
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
// The following example creates a new namespace and attribute in the current class.
public void CreateClassAndAttrib(DTE2 applicationObject)
{
// Before running, load or create a project.
FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
CodeAttribute2 cmAttribute;
CodeClass2 cmClass;
if (fcm2 != null)
{
CodeNamespace cmNamespace;
// Try to create a new namespace.
try
{
cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
// If successful, create the other code elements.
if (cmNamespace != null)
{
cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass",
-1, null, null, vsCMAccess.vsCMAccessPrivate);
cmAttribute = (CodeAttribute2)cmClass.AddAttribute
("NewAttribute", "AttributeValue", -1);
}
else
{
MessageBox.Show("Cannot continue - no filecodemodel
available.");
}
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex);
}
}
}
public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
// Returns the FileCodeModel object of the active
// window.
TextWindow txtWin =
(TextWindow)applicationObject.ActiveWindow.Object;
FileCodeModel2 fcm2;
if (txtWin != null)
{
try
{
fcm2 = (FileCodeModel2)txtWin.Parent.
ProjectItem.FileCodeModel;
return fcm2;
}
catch (Exception ex)
{
MessageBox.Show("ERROR: " + ex);
return null;
}
}
else
return null;
}
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell