CodeDelegate2.AddParameter 方法

为委托创建新的参数,并将代码插入正确的位置。

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
Function AddParameter ( _
    Name As String, _
    Type As Object, _
    Position As Object _
) As CodeParameter
CodeParameter AddParameter(
    string Name,
    Object Type,
    Object Position
)
CodeParameter^ AddParameter(
    String^ Name, 
    Object^ Type, 
    Object^ Position
)
abstract AddParameter : 
        Name:string * 
        Type:Object * 
        Position:Object -> CodeParameter
function AddParameter(
    Name : String, 
    Type : Object, 
    Position : Object
) : CodeParameter

参数

  • Name
    类型:String

    必选。 参数名。

  • Type
    类型:Object

    必选。 一个 vsCMTypeRef 常数,该常数指示函数返回的数据类型。 它可以是 CodeTypeRef 对象、vsCMTypeRef 常数或完全限定的类型名。

  • Position
    类型:Object

    可选。 默认值 = 0。 将在其后添加参数的代码元素。 如果 Value 为 CodeElement,则紧跟在其后添加新元素。

    如果 Value 为 Long 数据类型,则 AddParameter 指示在哪个元素后添加新元素。

    因为集合从 1 开始计数,所以传递 0 指示应将新元素放置在集合的开始处。 值为 -1 表示应将元素放在结尾处。

返回值

类型:CodeParameter
一个 CodeParameter 对象。

备注

Visual C++ 要求其完全限定的类型名使用以冒号分隔 (::) 的格式;所有其他语言都支持以句点分隔的格式。

参数正确与否由代码模型后面的语言决定。

备注

在进行某些类型的编辑之后,代码模型元素(如类、结构、函数、特性、委托等)的值可能是非确定性的,这意味着不能指望它们的值总是保持不变。有关更多信息,请参见 使用代码模型查找代码 (Visual Basic) 中的“代码模型元素的值可能会更改”一节。

示例

在运行此示例之前,加载一个具有某个类的项目,并插入下行以及代码示例。 在添加了该行和代码示例之后,单击 Delegate 行将插入点放在该行处,然后运行该示例。

[VisualBasic]

Delegate Sub MySubDelegate(ByVal x As Integer)

[C#]

public delegate void MySubDelegate(int x);

[VisualBasic]

Public Sub addDelegateParamExample(ByVal dte As DTE2)
    Try
        ' Retrieve the CodeClass at the insertion point.
        Dim sel As TextSelection = _
          CType(dte.ActiveDocument.Selection, TextSelection)
        Dim del As CodeDelegate2 = _
          CType(sel.ActivePoint.CodeElement( _
        vsCMElement.vsCMElementDelegate), CodeDelegate2)

       ' Add a new parameter to the delegate.
       del.AddParameter("someNewBase", "Solution2", -1)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub

.NET Framework 安全性

请参阅

参考

CodeDelegate2 接口

EnvDTE80 命名空间

其他资源

如何:编译和运行自动化对象模型代码示例

使用代码模型查找代码 (Visual Basic)

使用代码模型查找代码 (Visual C#)