Compartir a través de


CodeModel2.AddDelegate (Método)

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

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

Sintaxis

'Declaración
Function AddDelegate ( _
    Name As String, _
    Location As Object, _
    Type As Object, _
    Position As Object, _
    Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
    string Name,
    Object Location,
    Object Type,
    Object Position,
    vsCMAccess Access
)
CodeDelegate^ AddDelegate(
    String^ Name, 
    Object^ Location, 
    Object^ Type, 
    Object^ Position, 
    vsCMAccess Access
)
abstract AddDelegate : 
        Name:string * 
        Location:Object * 
        Type:Object * 
        Position:Object * 
        Access:vsCMAccess -> CodeDelegate
function AddDelegate(
    Name : String, 
    Location : Object, 
    Type : Object, 
    Position : Object, 
    Access : vsCMAccess
) : CodeDelegate

Parámetros

  • Name
    Tipo: String

    Obligatorio. Nombre del delegado que se va a agregar.

  • Location
    Tipo: Object

    Obligatorio. Ruta de acceso y nombre de archivo correspondientes a la nueva definición de delegado. En función del lenguaje, el nombre de archivo será relativo o absoluto con respecto al archivo de proyecto. El archivo se agregará al proyecto si todavía no es un elemento del mismo. Si no es posible crear el archivo y agregarlo al proyecto, AddDelegate producirá un error.

  • Type
    Tipo: Object

    Obligatorio. Constante vsCMTypeRef que indica el tipo de datos que devuelve la función. Este valor puede ser un objeto CodeTypeRef, una constante vsCMTypeRef o un nombre de tipo completo.

  • Position
    Tipo: 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, AddDelegate 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.

  • Access
    Tipo: vsCMAccess

    Opcional. Constante vsCMAccess.

Valor devuelto

Tipo: CodeDelegate
Un objeto CodeDelegate.

Comentarios

Visual C++ nativo requiere el formato de separación por signos de dos puntos (::) para sus nombres de tipo completos. Todos los demás lenguajes admiten el formato de separación por puntos.

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

Nota

Los valores de los elementos de modelo de código como clases, structs, funciones, atributos, delegados, etc., pueden ser no deterministas una vez realizados determinados tipos de modificaciones; esto significa que no se puede confiar en que sus valores se mantengan siempre igual.Para obtener más información, vea la sección Los valores de elementos de modelo de código pueden cambiar, en Detectar código utilizando el modelo de código (Visual Basic).

Ejemplos

Sub AddDelegateExample2(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project.
    Try
        Dim projItem As ProjectItem = dte.ActiveDocument.ProjectItem
        Dim cm As CodeModel = projItem.ContainingProject.CodeModel

        ' Create a new delegate.
        cm.AddDelegate("TestDelegate", projItem.Name, _
            vsCMTypeRef.vsCMTypeRefInt)
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
public void AddDelegateExample2(DTE2 dte)
{
    // Before running this example, open a code document from 
    // a project.
    try
    {
        ProjectItem projItem = dte.ActiveDocument.ProjectItem;
        CodeModel cm = projItem.ContainingProject.CodeModel;

        // Create a new delegate.
        cm.AddDelegate("TestDelegate", projItem.Name, 
            vsCMTypeRef.vsCMTypeRefInt, -1, 
            vsCMAccess.vsCMAccessPublic);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Seguridad de .NET Framework

Vea también

Referencia

CodeModel2 Interfaz

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