枚举与vbscript

mat*_*att 4 vbscript enums

由于vbscript不支持枚举,是否有任何工作可以解决这个问题?

我有这个代码:

Private Enum dataType
 dt_Nothing
 dt_Boolean
 dt_Decimal
 dt_Double
 dt_Integer
 dt_string
 dt_Array
 dt_NetJSON
End Enum
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Kul*_*gin 6

使用常量是非常合乎逻辑的.另一方面,您可以使用您自己的类的全局实例来模仿VB Enums.请注意,看起来就像枚举,我不确定它是否真的有必要.

Class EnumDataType
    Public  dt_Nothing, dt_Boolean, dt_Decimal
    Private Sub Class_Initialize
        dt_Nothing = 1
        dt_Boolean = 2
        dt_Decimal = 4
    End Sub
End Class

Dim dataType
Set dataType = New EnumDataType

WScript.Echo dataType.dt_Nothing Or dataType.dt_Boolean Or dataType.dt_Decimal
Run Code Online (Sandbox Code Playgroud)


mat*_*att 5

根据http://www.tek-tips.com/viewthread.cfm?qid=1146844,最好的方法是使用常量。

Const dt_Nothing = Something
Const dt_Boolean = Something
Const dt_Decimal = Something
Const dt_Double = Something
Const dt_Integer = Something
Const dt_string = Something
Const dt_Array = Something
Const dt_NetJSON = Something
Run Code Online (Sandbox Code Playgroud)

我找不到其他方法。我将搜索是否有更好的方法。