Interaction.CallByName(Object, String, CallType, Object[]) Method

Definition

Executes a method on an object, or sets or returns a property on an 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

Parameters

ObjectRef
Object

Required. Object. A pointer to the object exposing the property or method.

ProcName
String

Required. String. A string expression containing the name of the property or method on the object.

UseCallType
CallType

Required. An enumeration member of type CallType representing the type of procedure being called. The value of CallType can be Method, Get, or Set.

Args
Object[]

Optional. ParamArray. A parameter array containing the arguments to be passed to the property or method being called.

Returns

Executes a method on an object, or sets or returns a property on an object.

Exceptions

Invalid UseCallType value; must be Method, Get, or Set.

Examples

In the following example, the first line uses CallByName to set the Text property of a text box, the second line retrieves the value of the Text property, and the third line invokes the Move method to move the text box.

' 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

The next example uses the CallByName function to invoke the Add and Item methods of a collection object.

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

Remarks

The CallByName function is used at runtime to get a property, set a property, or invoke a method.

Applies to

See also