Share via


CodeFunction2.IsOverloaded Property

Gets whether or not a function is overloaded.

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

Syntax

'Declaration
ReadOnly Property IsOverloaded As Boolean
bool IsOverloaded { get; }
property bool IsOverloaded {
    bool get ();
}
abstract IsOverloaded : bool with get
function get IsOverloaded () : boolean

Property Value

Type: Boolean
A Boolean value that is true if a function is overloaded; false if otherwise.

Remarks

Note

The values of code model elements such as classes, structs, functions, attributes, delegates, and so forth can be non-deterministic after making certain kinds of edits, meaning that their values cannot be relied upon to always remain the same. For more information, see the section Code Model Element Values Can Change in Discovering Code by Using the Code Model (Visual Basic).

Examples

Sub IsOverloadedExample(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 IsOverloadedExample(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 Security

See Also

Reference

CodeFunction2 Interface

EnvDTE80 Namespace

Other Resources

How to: Compile and Run the Automation Object Model Code Examples

Discovering Code by Using the Code Model (Visual Basic)

Discovering Code by Using the Code Model (Visual C#)