Condividi tramite


Metodo CodeModel2.AddDelegate

Crea un nuovo costrutto di codice di un delegato e inserisce il codice nella posizione corretta.

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

Sintassi

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

Parametri

  • Name
    Tipo: String

    Obbligatorio. Il nome del delegato da aggiungere.

  • Location
    Tipo: Object

    Obbligatorio. Percorso e nome file per la definizione del nuovo delegato. A seconda del linguaggio, il nome file può essere relativo o assoluto rispetto al file di progetto. Se non ne costituisce già un elemento, il file viene aggiunto al progetto. Se non è possibile creare il file e aggiungerlo al progetto, non sarà possibile completare l'esecuzione di AddDelegate.

  • 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 è un oggetto CodeElement, il nuovo elemento verrà aggiunto immediatamente dopo.

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

Valore restituito

Tipo: CodeDelegate
Oggetto CodeDelegate.

Note

Il linguaggio Visual C++ nativo richiede il formato separato dai due punti (::) per i nomi di tipo completi. In tutti gli altri linguaggi è supportato 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

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

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