Condividi tramite


Proprietà CodeFunction.Overloads

Ottiene una raccolta di metodi di overload per l'elemento.

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

Sintassi

'Dichiarazione
ReadOnly Property Overloads As CodeElements
CodeElements Overloads { get; }
property CodeElements^ Overloads {
    CodeElements^ get ();
}
abstract Overloads : CodeElements
function get Overloads () : CodeElements

Valore proprietà

Tipo: EnvDTE.CodeElements
In CodeElements raccolta.

Note

Overloads restituisce una raccolta di tutti i metodi con lo stesso nome che sono testuale definiti accanto alla funzione specificata di codice (ovvero lessicale nella stessa sintassi di definizione di classe).se IsOverloaded viene False, quindi la libreria contiene un solo elemento alla funzione specificata di codice.

[!NOTA]

I valori degli elementi del modello di codice come classi, strutture, le funzioni, gli attributi, delegati, e così via possono non essere deterministici dopo l'inserimento di determinati tipi di modifiche, pertanto i relativi valori non possono essere basati su per rimanere sempre gli stessi.Per ulteriori informazioni, vedere i valori degli elementi del modello di codice della sezione può cambiare in Individuazione di codice mediante il modello di codice (Visual Basic).

Esempi

 Sub OverloadsExample(ByVal dte As DTE2)

    ' Before running this example, open a code document from a project
    ' and place the insertion point inside a function.
    Try
        ' Retrieve the CodeFunction at the insertion point.
        Dim sel As TextSelection = _
            CType(dte.ActiveDocument.Selection, TextSelection)
        Dim fun As CodeFunction = _
            CType(sel.ActivePoint.CodeElement( _
            vsCMElement.vsCMElementFunction), CodeFunction)

        Dim ovrloads As String
        If fun.IsOverloaded Then
            ' Display all the overloads.
            Dim ovrload As CodeFunction
            For Each ovrload In fun.Overloads
                ovrloads &= ovrload.Prototype( _
                    vsCMPrototype.vsCMPrototypeParamNames Or _
                    vsCMPrototype.vsCMPrototypeParamTypes Or _
                    vsCMPrototype.vsCMPrototypeType) & vbCrLf
            Next
            MsgBox(fun.Name & " has the following overloads:" & _
                vbCrLf & vbCrLf & ovrloads)
        Else
            MsgBox(fun.Name & " isn't overloaded.")
        End If
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try

End Sub
 public void OverloadsExample(DTE2 dte)
{
    // Before running this example, open a code document from a project
    // and place the insertion point inside a function.
    try
    {
        // Retrieve the CodeFunction at the insertion point.
        TextSelection sel = 
            (TextSelection)dte.ActiveDocument.Selection;
        CodeFunction fun = 
            (CodeFunction)sel.ActivePoint.get_CodeElement(
            vsCMElement.vsCMElementFunction);
        string ovrloads = "";

        if (fun.IsOverloaded)
        {
            // Display all the overloads.
            foreach (CodeFunction ovrload in fun.Overloads)
            {
                ovrloads += ovrload.get_Prototype(
                    (int)(vsCMPrototype.vsCMPrototypeParamNames | 
                    vsCMPrototype.vsCMPrototypeParamTypes | 
                    vsCMPrototype.vsCMPrototypeType)) + "\n";
            }

            MessageBox.Show(fun.Name + 
                " has the following overloads:\n\n" + ovrloads);
        }
        else
        {
            MessageBox.Show(fun.Name + " isn't overloaded.");
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Sicurezza di .NET Framework

Vedere anche

Riferimenti

CodeFunction Interfaccia

Spazio dei nomi EnvDTE

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