CodeClass2.AddDelegate (Método)
Crea un nuevo delegado en la clase especificada.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
Function AddDelegate ( _
Name As String, _
Type As Object, _
Position As Object, _
Access As vsCMAccess _
) As CodeDelegate
CodeDelegate AddDelegate(
string Name,
Object Type,
Object Position,
vsCMAccess Access
)
CodeDelegate^ AddDelegate(
String^ Name,
Object^ Type,
Object^ Position,
vsCMAccess Access
)
abstract AddDelegate :
Name:string *
Type:Object *
Position:Object *
Access:vsCMAccess -> CodeDelegate
function AddDelegate(
Name : String,
Type : Object,
Position : Object,
Access : vsCMAccess
) : CodeDelegate
Parámetros
Name
Tipo: StringObligatorio. Nombre del delegado que se va a agregar.
Type
Tipo: ObjectObligatorio. Constante vsCMTypeRef que indica el tipo de datos que devuelve la función. Puede tratarse de un objeto CodeTypeRef, de una constante vsCMTypeRef o de un nombre de tipo completo.
Position
Tipo: ObjectOpcional. Valor predeterminado = 0. Elemento de código tras el que se agrega el elemento nuevo.
Si el tipo de datos del valor es Long, Position 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: vsCMAccessOpcional. Constante vsCMAccess que especifica el tipo de acceso.
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 utilizan 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
[C#]
public void CodeClass2AddDelegateExample(DTE2 dte2)
{
// Before running this example, open a code document from a project
// and place the insertion point inside a class definition.
try
{
// Retrieve the CodeClass at the insertion point.
TextSelection sel =
TextSelection)dte2.ActiveDocument.Selection;
CodeClass cls =
(CodeClass)sel.ActivePoint.get_CodeElement(
vsCMElement.vsCMElementClass);
object pos = -1; // Place class at end of members collection
// Add delegate.
CodeDelegate cdel = cls.AddDelegate("TestDelegate",
vsCMTypeRef.vsCMTypeRefBool,
pos, 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)