类范围内的常量UDT
是否有可能在模块级定义一个用户定义的types常量?
Type MyType name as String description as String End Type ' Something like this Private Const OneType as MyType = "Name" "Description"
不。Const不适用于用户定义的types。 最接近你可以来创build一个只有财产得到的类。
Public Property Get Name() As String Name = "Name" End Property Public Property Get Description() As String Description = "Description" End Property
如果你想让这个类的多个实例具有不同的值,但是仍然希望值是不变的,那么添加一个只能使用一次的初始化例程。
Private sName As String Private sDescription As String Private Sub Class_Initialize() sName = "" End Sub Public Sub Initialize(Name As String, Description As String) If Len(sName) = 0 Then sName = Name sDescription = Description Else MsgBox "This instance of MyClass is already initialized!" End If End Sub Public Property Get Name() As String Name = sName End Property Public Property Get Description() As String Description = sDescription End Property
然后声明你的类的一个实例。
Dim cMyClass1 As New MyClass, cMyClass2 as New MyClass cMyClass1.Initialize("Name","Description") cMyClass2.Initialize("DiffName","OtherDescription")