Interaction.CallByName(Object, String, CallType, Object[]) 方法

定义

执行对象的方法,或者设置或返回对象的属性。

public:
 static System::Object ^ CallByName(System::Object ^ ObjectRef, System::String ^ ProcName, Microsoft::VisualBasic::CallType UseCallType, ... cli::array <System::Object ^> ^ Args);
public static object? CallByName (object? ObjectRef, string ProcName, Microsoft.VisualBasic.CallType UseCallType, params object?[] Args);
public static object CallByName (object ObjectRef, string ProcName, Microsoft.VisualBasic.CallType UseCallType, params object[] Args);
static member CallByName : obj * string * Microsoft.VisualBasic.CallType * obj[] -> obj
Public Function CallByName (ObjectRef As Object, ProcName As String, UseCallType As CallType, ParamArray Args As Object()) As Object

参数

ObjectRef
Object

必需。 Object. 一个指向公开属性或方法的对象的指针。

ProcName
String

必需。 String. 一个字符串表达式,包含对象的属性或方法的名称。

UseCallType
CallType

必需。 类型 CallType 的一个枚举成员,它表示正在被调用的过程的类型。 CallType 的值可以是 MethodGetSet

Args
Object[]

可选。 ParamArray. 一个形参数组,包含要传递给正在调用的属性或方法的实参。

返回

执行对象的方法,或者设置或返回对象的属性。

例外

无效 UseCallType 值;必须为 MethodGetSet

示例

在下面的示例中,第一行使用 CallByName 设置 Text 文本框的 属性,第二行检索 属性的值 Text ,第三行调用 Move 方法来移动文本框。

' Imports statements must be at the top of a module.
Imports Microsoft.VisualBasic.CallType
Sub TestCallByName1()
    'Set a property.
    CallByName(TextBox1, "Text", CallType.Set, "New Text")

    'Retrieve the value of a property.
    MsgBox(CallByName(TextBox1, "Text", CallType.Get))

    'Call a method.
    CallByName(TextBox1, "Hide", CallType.Method)
End Sub

下一个示例使用 CallByName 函数调用 Add 集合对象的 和 Item 方法。

Public Sub TestCallByName2()
    Dim col As New Collection()

    'Store the string "Item One" in a collection by 
    'calling the Add method.
    CallByName(col, "Add", CallType.Method, "Item One")

    'Retrieve the first entry from the collection using the 
    'Item property and display it using MsgBox().
    MsgBox(CallByName(col, "Item", CallType.Get, 1))
End Sub

注解

函数 CallByName 在运行时用于获取属性、设置属性或调用方法。

适用于

另请参阅