共用方式為


CallByName 函式

更新:2007 年 11 月

在物件上執行方法,或是設定或傳回物件的屬性 (Property)。

Public Function CallByName( _
   ByVal ObjectRef As System.Object, _
   ByVal ProcName As String, _
   ByVal UseCallType As CallType, _
   ByVal Args() As Object _
) As Object

參數

  • ObjectRef
    必要項,Object。到公開 (Expose) 屬性或方法之物件的指標。

  • ProcName
    必要項,String。包含物件屬性或方法名稱的字串運算式 (String Expression)。

  • UseCallType
    必要項。型別 CallType 列舉型別 的列舉型別 (Enumeration) 成員,代表正在呼叫的程序型別。CallType 的值可以是 Method、Get 或 Set。

  • Args
    選擇項。ParamArray。參數陣列,包含要傳遞至被呼叫之屬性或方法的引數。

例外狀況

例外狀況類型

錯誤代碼

條件

ArgumentException

5

無效的 UseCallType 值,必須是 Method、Get 或 Set。

如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。

備註

CallByName 函式是在執行階段時,用以取得屬性、設定屬性或叫用方法。

範例

在下列範例中,第一行使用 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 函式,來叫用集合物件 (Collection Object) 的 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

智慧型裝置開發人員注意事項

不支援這個函式。

需求

命名空間 (Namespace)︰Microsoft.VisualBasic

**模組︰**Interaction

組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

概念

參數陣列

使用字串名稱呼叫屬性或方法

參考

CallType 列舉型別

ArgumentException