如果我在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中吗?谢谢!
答案 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
>>