Freigeben über


CodeEnum.AddMember-Methode

Erstellt ein neues Membercodekonstrukt und fügt den Code an der korrekten Position ein.

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

Syntax

'Declaration
Function AddMember ( _
    Name As String, _
    Value As Object, _
    Position As Object _
) As CodeVariable
CodeVariable AddMember(
    string Name,
    Object Value,
    Object Position
)
CodeVariable^ AddMember(
    String^ Name, 
    Object^ Value, 
    Object^ Position
)
abstract AddMember : 
        Name:string * 
        Value:Object * 
        Position:Object -> CodeVariable
function AddMember(
    Name : String, 
    Value : Object, 
    Position : Object
) : CodeVariable

Parameter

  • Name
    Typ: String

    Erforderlich. Der Name des neuen Members.

  • Value
    Typ: Object

    Optional. Die InitExpression-Eigenschaft des zurückgegebenen CodeVariable-Objekts. Dies kann entweder als Zeichenfolge oder als Ausdrucksobjekt übergeben werden.

  • Position
    Typ: Object

    Optional. Standardwert = 0. Das Codeelement, hinter dem das neue Element hinzugefügt werden soll. Wenn der Wert ein CodeElement ist, wird das neue Element unmittelbar im Anschluss hinzugefügt.

    Wenn der Wert ein Long-Datentyp ist, gibt AddMember das Element an, nach 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.

Rückgabewert

Typ: EnvDTE.CodeVariable
Ein CodeVariable-Objekt.

Hinweise

AddMember fügt der Enumeration einen Member hinzu und gibt ein CodeVariable-Objekt zurück, dessen IsConstant-Eigenschaft auf true festgelegt ist.

Wenn Value auf eine Zeichenfolge festgelegt wird, fügt AddMember ggf. die erforderliche Syntax ein, wie Gleichheitszeichen oder Semikolons, sofern die Variable nicht bereits über einen Initialisierungsausdruck verfügt. Abhängig von den Programmiersprachen und den Syntax- oder Semantikprüfungen, die für die übergebene Zeichenfolge ausgeführt werden, kann das Festlegen dieses Arguments fehlschlagen. Sprachen müssen die Zeichenfolge nicht prüfen. Da diese jedoch immer sprachspezifisch ist, kann das Festlegen des Arguments ein undefiniertes Verhalten zur Folge haben, wenn der Inhalt der Zeichenfolge nicht korrekt formatiert wurde.

Wenn Value auf CodeElement festgelegt wird, hängt es von der Sprachimplementierung des Codemodells ab, ob CodeElement neu erstellt werden muss. Einige Sprachen implementieren ggf. das Kopieren von Semantik, wenn Sie ein bereits in einer Quelldatei vorhandenes Codeelement übergeben.

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

Hinweis

Bei den Werten von Codemodellelementen, z. B. Klassen, Strukturen, Funktionen, Attribute, Delegate, kann nicht davon ausgegangen werden, dass sie jederzeit gleich bleiben.Weitere Informationen finden Sie im Abschnitt zum Änderungsverhalten von Codemodellelementwerten unter Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

Sub AddMemberExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside an enumeration.
    Try
        ' Retrieve the CodeEnum at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim enm As CodeEnum = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementEnum), CodeEnum)

        ' Add a member to the enumeration.
        enm.AddMember("TestMember")
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddMemberExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside an enumeration.
    try
    {
        // Retrieve the CodeEnum at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeEnum enm = 
            (CodeEnum)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementEnum);

        // Add a member to the enumeration.
        enm.AddMember("TestMember", null, -1);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeEnum Schnittstelle

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