具有多个参数的VBScript类函数

时间:2014-01-03 16:51:53

标签: function class vbscript

我有一个类函数我想提供多个参数,但我遇到麻烦,因为我不习惯在VB中使用类。

这是我目前使用单个参数

的方法
Set objLoc = new Location
objLoc.getLoc = strOffice

需要它像这样工作

Set objLoc = new Location
objLoc.getLoc = (strOffice, strDep)

位置等级

Class Location
        Private strPhone, strFax, strStreet, strCSZ
Public Property Let getLoc(strOffice)
    if LCase(strOffice) = LCase("foo") then
        strPhone = "999-999-9999"
        strFax = "888-888-8888 fax"
        strStreet = "..."
        strCSZ = "..."
    ElseIf  LCase(strOffice) = LCase("bar") then
        strPhone = "777-777-7777"
        strFax = "555-555-5555 fax"
        strStreet = "..."
        strCSZ = "..."
    Else
    End If
End Property

Public Property Get Street
    Street = strStreet
End Property

Public Property Get CSZ
    CSZ = strCSZ
End Property

Public Property Get Fax
    Fax = strFax
End Property

Public Property Get Phone
    Phone = strPhone
End Property
End Class

1 个答案:

答案 0 :(得分:1)

你不能设置一个超过1个值的属性,你需要一个子程序来设置两个或你需要为另一个值添加一个新属性。

所以,选项#1(添加一个子):(不是vbScript专家,但有多年的VB.NET和VB:

Public Sub SetOfficeAndDept(office,dept)
   ... code ...
End Sub

选项#2,(添加新属性):

Public Property Let Dept(d)
    Dept = d
End Property

选项#3,(添加新的构造函数)

Public Sub New(office, dept)
      ..set your vars...
End Sub

使用它:

Set l = new Location(ofc,dept)