VBScript实例化类并同时填充变量

时间:2014-05-13 16:00:17

标签: class arraylist vbscript asp-classic

如果我在VBScript中拥有自己的课程:

class TestClass
    public var1
    public var2
end class



我可以实例化和填充:

dim classVar
set classVar = new TestClass
classVar.var1 = "test1"
classVar.var2 = "test2"



我的问题是,是否有用于实例化和填充的单行程序?我希望能够在将类添加到列表时执行此操作:

dim listVar
set listVar = CreateObject( "System.Collections.ArrayList" )

listVar.add new TestClass ("test" "test2")

这可能在VBScript中吗?谢谢!

2 个答案:

答案 0 :(得分:1)

不,VBScript / VB6 / VBA不支持类的构造函数

您可以使用工厂:

function MakeTestClass(a, b, c)
   set MakeTestClass = new TestClass
   MakeTestClass.var1 = a
   MakeTestClass.var2 = b
end function

listVar.add MakeTestClass(11, 22, 33)

答案 1 :(得分:0)

或者返回Me的一个(或多个)特殊init(成员)函数:

>> Class cC
>>   Private n
>>   Public Function init(p)
>>     n = p
>>     Set init = Me
>>   End Function
>>   Public Function toString()
>>     toString = "cC object: " & n
>>   End Function
>> End Class
>> WScript.Echo New cC.init(4711).toString()
>>
cC object: 4711
>>