0
我是Vb脚本的新手,我必须创建一个需要大量参数的函数(关键字),但在Vb脚本中不允许使用可选参数。VBscript中的可选参数
我做了一些网络研究,我发现我可以使用参数数组或对象字典。我想知道在哪种情况下,最好使用参数数组,当我必须使用Dictionary。另外,在每种情况下,添加参数到我的函数参数是否容易?
我是Vb脚本的新手,我必须创建一个需要大量参数的函数(关键字),但在Vb脚本中不允许使用可选参数。VBscript中的可选参数
我做了一些网络研究,我发现我可以使用参数数组或对象字典。我想知道在哪种情况下,最好使用参数数组,当我必须使用Dictionary。另外,在每种情况下,添加参数到我的函数参数是否容易?
我会建议为所有参数创建一个类,并传递该类的单个实例。使用大量参数的方法是一个糟糕的设计,并且如果使用数组,则它的健壮性会降低,因为您必须始终计算以确定参数所处的索引。通过一个类,所有的“参数”将被命名为字段或属性。
这里就是我说的是一个简单的例子:
Dim cfg : Set cfg = New CarConfig
With cfg
.MakeName = "Ford"
.ModelName = "Escort"
.StyleName = "2-Door"
.ColorName = "Blue"
.NumWheels = 4
End With
Call BuildCar(cfg)
Sub BuildCar(usingConfig)
With usingConfig
Call MsgBox("Your " & .ColorName & " " & _
.StyleName & " " & .MakeName & " " & _
.ModelName & " has: " & _
cfg.NumWheels & " wheels.")
End With
End Sub
Class CarConfig
Public MakeName
Public ModelName
Public NumWheels
Public ColorName
Public StyleName
End Class
是的,我想得有关使用类来封装我的所有参数,并创建一个方法add_paramater并调用它每次我需要给这个班级添加一个参数你认为怎么样? – sourh
那么,我的意思是你创建一个具有一组静态命名属性的类,而不是一组参数。否则,你将不得不通过名称来解决你的参数,以及如果你的参数名称改变,并且你忘记改变字符串值来解决你的参数呢?它可能导致错误,因此它不够健壮。 –
你是对的,我在考虑让一个类有一个参数集合,或者每个参数都有一个getter和一个setter,但是如果我改变一个参数的名字,我没有想到这种情况。那么,请您详细介绍一下如何使用静态的命名属性集,因为我是VBS新手。如果您可以给我一个例子。 – sourh