我需要创建一个类。一个相当简单的。我们将调用类clsItem
,仅用于此问题。这个类必须持有的值是:
PointX
- 某个点的X坐标PointY
- 有点Y坐标Type
- 这将是几个选项之一(例如计算机,打印机,路由器,服务器)我对创建类,属性,获取/设置等只是为了直接的值而感到有点舒服。但是,在创建此类的实例并填写新实例的参数时,我希望显示枚举选项(我认为我至少在寻找枚举)。
实例将要求(如上所述)(X coord,Y coord,Type)
Dim NewClass As New clsItem(50, 75, Type.Computer)**
或Type.Printer
,Type.Router
....
Type.[whatever]
的实际值可以只是一个数字,我想(0,1,2 ....)。但是我如何设置它以便我实际上正在编写这个类我可以创建一个使用它的属性?
有Dim something As Integer
或As String
。所以我想我需要
Dim something As HardwareType
(或者我将其命名的任何内容)。
Public Property Type As HardwareType
在这个课程中创建一个结构会起作用吗?或者有更好的方法吗?
编辑1
Public Class clsItem
Public Property PointX As Integer
Public Property PointY As Integer
Public Property ItemType As Integer
Sub New(X As Integer, Y As Integer, Type As Integer)
PointX = X
PointY = Y
ItemType = Type
End Sub
End Class
我想以上可能是一种方法,因为这只是一个相当简单的类。
但我希望在Type
中以Sub New
传递的内容是
Type.Computer
Type.Printer
Type.Switch
Type.Router
所以整数可能不是我真正想要的。我需要创建Type.[something]
并为每个设置一个值,这样我就可以在我的程序中迭代Type
当我想要实例化这个类。
答案 0 :(得分:2)
您正在寻找的是一个构造函数。构造函数就像一个方法,每次创建类的对象时都会调用该方法。如果构造函数具有参数,那么在创建对象时必须将参数传递给这些参数(例如New Item(50, 75, HardwareType.Computer)
)类中构造函数的名称始终为New
:
Public Class Item
Public Sub New(x As Integer, y As Integer, t As HardwareType)
Me.X = x
Me.Y = y
Me.Type = t
End Sub
Public Property X As Integer
Public Property Y As Integer
Public Property [Type] As HardwareType
End Class
要为参数提供已定义的常量选项列表,您需要将其声明为Enum
:
Public Enum HardwareType
Computer
Printer
Switch
Router
End Enum