Enum gKS
Colby = "Hello"
Hays = "World"
end Enum
Enum gMA
Dodge = "Seven"
Muscatine = "Ports"
end Enum
Enum gCountry
north as gMA
south as gKS
end Enum
Public USA as gCountry
因此,下面的代码应输出“七”消息:
sub dol()
msgbox USA.north.Dodge
end sub
我不想使用类型或类,因为不需要初始化,因为所有值都是已知的(正如我所说的那样)。
有什么建议吗?
THX。
答案 0 :(得分:3)
类是继续这样做的方法。枚举只是长值,需要有限的选择。这将允许您的对象具有最大的灵活性,以防您需要这些对象具有其他函数/ subs。
这是一个简单的布局:
gCountry Class:
Public North As gMA
Public South As gKS
Private Sub Class_Initialize()
Set North = New gMA
Set South = New gKS
End Sub
gKS课程:
Public Property Get Colby() As String
Colby = "Hello"
End Property
Public Property Get Hays() As String
Hays = "World"
End Property
gMA课程:
Public Property Get Dodge() As String
Dodge = "Seven"
End Property
Public Property Get Muscatine() As String
Muscatine = "Ports"
End Property
测试它:
Public Sub TestIt()
Dim USA As New gCountry
MsgBox USA.North.Dodge
End Sub
答案 1 :(得分:2)
我不相信你能够以你希望的方式做嵌入式枚举,因为枚举在CLR中被认为是原始的(source)。你也可以试着在整个内部嵌入int。
我意识到你说你不想使用类,但这是静态类填充.NET世界的情况。无需初始化即可轻松随意访问,编译时可快速访问。 This page如果您不熟悉它们,可以获得有关静力学的更多信息。您应该能够做任何您需要做的事情,以便在该类中按照您想要的方式设置信息,无论是多个静态类,哈希表,多维数组,还是您拥有的任何内容。
答案 2 :(得分:1)
THX,
因此。我决定使用类型来解决这个问题:
Public Type fCAOCC
itRGI As String
...
End Type
Public Type fCAOBF
itRGI As String
ibEnviar As String
...
End Type
Public Type gTELAS
CAOBF As fCAOBF
CAOCC As fCAOCC
...
End Type
Public CSI As gTELAS
Sub iniGLOBALS()
CSI.CAOBF.itRGI = "DIVNRRGILIG"
CSI.CAOBF.ibEnviar = "DUMMYNAME1"
CSI.CAOCC.itRGI = "Hello"
...
End Sub
这准备好以后用于代码......
孢霉素A