実行時にオブジェクトを作成した後、クラス内に新しい変数を作成しようとしています。問題は、変数名や値が事前にわからないため、実行時に新しい変数を作成する必要があることです。
たとえば-
Public Class Test
Public Sub Test()
End Sub
Public Function Fval(ByVal Field As Object) As Object
Return Field(1)
End Function
End Class
''Creating the object of Test class
Public Class ExecTest
Public Sub Main(ByVal args() As String)
Dim obj as New Test()
Dim des As ScriptControlClass = New ScriptControlClass()
des.Language = "VBScript"
des.AddObject("TS", obj, True)
Dim xx as Object = des.Eval("Fval(ABC)")
End Sub
End Class
編集:これは私のコードのより詳細な説明です。Eval関数でそれを観察した場合、私はを評価しようとしましたFval(abc)
。オブジェクト配列abc
は、その存在が事前にわからないため、Testクラスで宣言されていません。私がやりたいのはabc
、長さ2のオブジェクト配列を作成し、それにいくつかの値を入力することFval(abc)
です。呼び出されると、インデックス1の値が関数の戻り値になりEval
ます。