Compartir a través de


CodeEnum.AddMember (Método)

Crea una nueva construcción de código de miembro e inserta el código en la ubicación adecuada.

Espacio de nombres:  EnvDTE
Ensamblado:  EnvDTE (en EnvDTE.dll)

Sintaxis

'Declaración
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

Parámetros

  • Position
    Tipo: System.Object
    Opcional.Valor predeterminado = 0.Elemento de código tras el que se agrega el elemento nuevo.Si el valor es un CodeElement, el nuevo elemento se agregará inmediatamente tras él.
    Si el tipo de datos del valor es Long, AddMember indicará el elemento detrás del cual se ha de agregar el nuevo elemento.
    Como el recuento de los elementos de una colección comienza a partir de 1, pasar un valor de 0 indica que el nuevo elemento deberá colocarse al principio de la colección.Un valor de -1 indica que el elemento deberá situarse al final de la colección.

Valor devuelto

Tipo: EnvDTE.CodeVariable
Objeto CodeVariable.

Comentarios

AddMember agrega un miembro a la enumeración y devuelve un objeto CodeVariable con IsConstant establecida en true.

Cuando Value se establece en una cadena, AddMember inserta la sintaxis necesaria (como signos de igual o signos de punto y coma) si la variable no contiene ya una expresión de inicialización. El establecimiento de este argumento puede producir errores, en función de los lenguajes y de cualquier comprobación sintáctica o semántica realizada en la cadena que se ha pasado. Los lenguajes no son necesarios para comprobar la cadena; y puesto que la cadena depende, por definición, del lenguaje, el establecimiento de este argumento puede dar lugar a un comportamiento indefinido si la cadena incluye cualquier contenido incorrecto.

Al establecer Value en CodeElement, el hecho de que se deba crear CodeElement depende de la implementación del lenguaje del modelo de código. Algunos lenguajes podrían implementar semántica de copia cuando se les pasa un elemento de código que ya se encuentra en un archivo de código fuente.

La corrección de los argumentos vendrá determinada por el lenguaje que subyace al modelo de código.

Nota

No se puede confiar en que los valores de los elementos del modelo de código (como clases, estructuras, funciones, atributos, delegados) se mantengan siempre sin variaciones. Para obtener más información, vea la sección Los valores de los elementos del modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).

Ejemplos

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

Seguridad de .NET Framework

Vea también

Referencia

CodeEnum Interfaz

EnvDTE (Espacio de nombres)

Otros recursos

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización

Detectar código utilizando el modelo de código (Visual Basic)

Detectar código utilizando el modelo de código (Visual C#)