CodeModel.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: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.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: System.String
Obligatorio.Nombre del delegado que se va a agregar.
- Location
Tipo: System.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: System.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: 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, 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 debe situarse al final.
- Access
Tipo: EnvDTE.vsCMAccess
Opcional.Constante vsCMAccess.
Valor devuelto
Tipo: EnvDTE.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; el resto de los 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
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)