Executes a method on an object, or sets or returns a property on an object.
Public Function CallByName( _ ByVal Object As System.Object, _ ByVal ProcName As String, _ ByVal UseCallType As CallType, _ ByVal ParamArrayArgs() As Object _ ) As Object
Exception type | Error number | Condition |
---|---|---|
5 | Invalid UseCallType value; must be Method, Get, or Set. |
The CallByName function is used to get or set a property, or to invoke a method, at run time, using a string to specify the name of the property or method.
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 Microsoft.VisualBasic.CallType ' Imports statements must be at the top of a module. ... 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
CallType Enumeration |