CodeFunction2.Prototype[Int32] 属性

定义

获取包含此对象存根定义的字符串。

public:
 property System::String ^ Prototype[int] { System::String ^ get(int Flags); };
[System.Runtime.InteropServices.DispId(34)]
public string Prototype[int Flags = 0] { [System.Runtime.InteropServices.DispId(34)] [System.Runtime.InteropServices.TypeLibFunc(1024)] get; }
[<System.Runtime.InteropServices.DispId(34)>]
[<get: System.Runtime.InteropServices.DispId(34)>]
[<get: System.Runtime.InteropServices.TypeLibFunc(1024)>]
member this.Prototype(int) : string
Public ReadOnly Property Prototype(Optional Flags As Integer = 0) As String

参数

Flags
Int32

可选。 一个 vsCMPrototype 值,该值指示字符串内容,例如仅参数名称、参数类型、完整唯一签名等。 默认情况下,所有标志已设置为“关闭”。

属性值

String

CodeFunction 的存根定义。

实现

属性

示例

Sub PrototypeExample(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 PrototypeExample(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);  
    }  
}  

注解

备注

在进行了某些类型的编辑之后,代码模型元素(例如类、结构、函数、特性、委托等)的值可能变为非确定性的,这意味着不能确定它们的值始终保持不变。

适用于