Partager via


CodeFunction2.IsOverloaded Property

Definition

Gets whether or not a function is overloaded.

public:
 property bool IsOverloaded { bool get(); };
public:
 property bool IsOverloaded { bool get(); };
[System.Runtime.InteropServices.DispId(39)]
public bool IsOverloaded { [System.Runtime.InteropServices.DispId(39)] get; }
[<System.Runtime.InteropServices.DispId(39)>]
[<get: System.Runtime.InteropServices.DispId(39)>]
member this.IsOverloaded : bool
Public ReadOnly Property IsOverloaded As Boolean

Property Value

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

Implements

Attributes

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

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.

Applies to