Condividi tramite


Metodo CodeClass2.AddDelegate

Crea un nuovo delegato nella classe specificata.

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

Sintassi

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

Parametri

  • Name
    Tipo: String

    Obbligatorio. Il nome del delegato da aggiungere.

  • Type
    Tipo: Object

    Obbligatorio. Costante vsCMTypeRef che indica il tipo di dati restituito dalla funzione. Può trattarsi di un oggetto CodeTypeRef, di una costante vsCMTypeRef o di un nome di tipo completo.

  • Position
    Tipo: Object

    Facoltativa. Valore predefinito = 0. Elemento di codice dopo il quale deve essere aggiunto il nuovo elemento.

    Se il valore è di tipo Long, Position 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.

  • Access
    Tipo: vsCMAccess

    Facoltativa. Costante vsCMAccess che specifica il tipo di accesso.

Valore restituito

Tipo: CodeDelegate
Oggetto CodeDelegate.

Note

Il linguaggio nativo Visual C ++ richiede il formato separato dai due punti (::) per i nomi di tipo completi. In tutti gli altri linguaggi viene utilizzato il formato separato dal punto.

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

Nota

I valori degli elementi del modello di codice, quali classi, strutture, funzioni, attributi, delegati e così via, possono non essere deterministici dopo alcuni tipi di modifiche. Ciò significa che non si può fare affidamento sulla stabilità di tali valori.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

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

CodeClass2 Interfaccia

Spazio dei nomi EnvDTE80

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