Freigeben über


CodeFunction2.Overloads-Eigenschaft

Ruft eine Auflistung von überladenen Methoden für diese Element ab.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

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

Eigenschaftswert

Typ: CodeElements
Eine CodeElements-Auflistung.

Hinweise

Overloads Gibt eine Auflistung aller Methoden mit demselben Namen, die mit der angegebenen Codefunktion Textbefehl definiert sind (d. h. lexikalisch in derselben). Wenn IsOverloaded ist false, enthält diese Auflistung nur ein Element: die angegebene Codefunktion.

Hinweis

Die Werte von Codemodellelementen wie z. B. Klassen, Strukturen, Funktionen, Attributen Delegaten usw. sind nach bestimmten Änderungen unter Umständen nicht deterministisch, d. h. deren Werte bleiben nicht zuverlässig immer gleich.Weitere Informationen finden Sie im Abschnitt "Codemodellelemente können sich ändern" in Ermitteln von Code über das Codemodell (Visual Basic).

Beispiele

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

.NET Framework-Sicherheit

Siehe auch

Referenz

CodeFunction2 Schnittstelle

EnvDTE80-Namespace

Weitere Ressourcen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell

Ermitteln von Code über das Codemodell (Visual Basic)

Ermitteln von Code über das Codemodell (Visual C#)