Condividi tramite


Metodo CodeEnum.AddMember

Crea un nuovo costrutto di codice di un membro e inserisce il codice nella posizione corretta.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

'Dichiarazione
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

Parametri

  • Name
    Tipo: String

    Obbligatorio. Il nome del nuovo membro.

  • Value
    Tipo: Object

    Facoltativa. La proprietà InitExpression dell'oggetto CodeVariable restituito. Può essere passato sotto forma di stringa o di oggetto espressione.

  • Position
    Tipo: Object

    Facoltativa. Valore predefinito = 0. Elemento di codice dopo il quale deve essere aggiunto il nuovo elemento. Se il valore è un oggetto CodeElement, il nuovo elemento verrà aggiunto immediatamente dopo.

    Se il valore è di tipo Long, AddMember indicherà l'elemento dopo il quale deve essere aggiunto il nuovo elemento.

    Poiché nelle raccolte il conteggio inizia da 1, il valore 0 indica che il nuovo elemento deve essere inserito all'inizio della raccolta. Il valore -1 indica invece che l'elemento deve essere inserito alla fine.

Valore restituito

Tipo: EnvDTE.CodeVariable
Oggetto CodeVariable.

Note

Il metodo AddMember aggiunge un membro all'enumerazione e restituisce un oggetto CodeVariable con IsConstant impostato su true.

Se per il parametro Value viene impostata una stringa e la variabile non dispone di un'espressione di inizializzazione, il metodo AddMember inserisce la sintassi richiesta, ad esempio segni di uguale o punti e virgola. A seconda del linguaggio e dei controlli che esso esegue a livello di sintassi o di semantica sulla stringa passata, l'impostazione di questo argomento può avere esito negativo. Poiché i linguaggi non eseguono necessariamente il controllo della stringa e questa dipende dal linguaggio, se il contenuto della stringa non è stato specificato correttamente l'impostazione di questo argomento può produrre un comportamento indefinito.

Se si imposta Value su un oggetto CodeElement, la nuova creazione o meno dell'oggetto CodeElement dipende dall'implementazione del linguaggio del modello di codice. Se viene passato un elemento di codice già presente nel file di origine, alcuni linguaggi potrebbero implementare una semantica di copia.

La correttezza degli argomenti è determinata dal linguaggio sottostante il modello di codice.

Nota

Non si può fare affidamento sulla stabilità dei valori degli elementi del modello di codice, quali classi, strutture, funzioni, attributi, delegati.Per ulteriori informazioni, vedere la sezione Possibile modifica dei valori degli elementi del modello di codice in Individuazione di codice mediante il modello di codice (Visual Basic).

Esempi

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);
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

CodeEnum Interfaccia

Spazio dei nomi EnvDTE

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione

Individuazione di codice mediante il modello di codice (Visual Basic)

Individuazione di codice mediante il modello di codice (Visual C#)