Freigeben über


CodeClass2.AddProperty-Methode (String, String, Object, Object, vsCMAccess, Object)

Erstellt ein neues Eigenschaftenkonstrukt in der Klasse.

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

Syntax

'Declaration
Function AddProperty ( _
    GetterName As String, _
    PutterName As String, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess, _
    Location As Object _
) As CodeProperty
CodeProperty AddProperty(
    string GetterName,
    string PutterName,
    Object Type,
    Object Position,
    vsCMAccess Access,
    Object Location
)
CodeProperty^ AddProperty(
    String^ GetterName, 
    String^ PutterName, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access, 
    Object^ Location
)
abstract AddProperty : 
        GetterName:string * 
        PutterName:string * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess * 
        Location:Object -> CodeProperty 
function AddProperty(
    GetterName : String, 
    PutterName : String, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess, 
    Location : Object
) : CodeProperty

Parameter

  • GetterName
    Typ: System.String
    Erforderlich.Der Name der Funktion, die den Wert der Eigenschaft abruft.
  • PutterName
    Typ: System.String
    Erforderlich.Der Name der Funktion, die die Eigenschaft festlegt.
  • Position
    Typ: System.Object
    Optional.Standardwert = 0.Das Codeelement, hinter dem das neue Element hinzugefügt werden soll.
    Wenn der Wert ein Long-Datentyp ist, gibt die Position-Methode das Element an, hinter dem das neue Element hinzugefügt werden soll.
    Da die Zählung bei Auflistungen mit 1 beginnt, wird mit dem Wert 0 angegeben, dass das neue Element am Anfang der Auflistung eingefügt werden soll.Bei dem Wert -1 wird das Element am Ende eingefügt.
  • Location
    Typ: System.Object
    Optional.Position der neuen Funktion.

Rückgabewert

Typ: EnvDTE.CodeProperty
Ein CodeProperty-Objekt.

Implementiert

CodeClass.AddProperty(String, String, Object, Object, vsCMAccess, Object)

Hinweise

Im systemeigenen Visual C++ ist ein doppelter Doppelpunkt (::) als Trennzeichen für vollqualifizierte Typnamen erforderlich. Alle anderen Sprachen unterstützen das durch Punkte getrennte Format.

Die Gültigkeit der Argumente wird durch die Sprache des Codemodells bestimmt.

Tipp

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]

Sub AddPropertyExample(ByVal dte As DTE2)
    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a class definition.
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim cls As CodeClass = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementClass), CodeClass)

        ' Create a new member property.
        cls.AddProperty("TestProperty", "TestProperty", _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub

[C#]

public void AddPropertyExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a class definition.
    try
    {
        // Retrieve the CodeClass at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeClass cls = 
            (CodeClass)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementClass);

        // Create a new member property.
        cls.AddProperty("TestProperty", "TestProperty", 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessPublic, null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeClass2 Schnittstelle

AddProperty-Überladung

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#)