创建实例化时要使用的类和自定义对象(或类型?)

时间:2015-07-20 16:17:46

标签: vb.net class enums

我需要创建一个类。一个相当简单的。我们将调用类clsItem,仅用于此问题。这个类必须持有的值是:

  • PointX - 某个点的X坐标
  • PointY - 有点Y坐标
  • Type - 这将是几个选项之一(例如计算机,打印机,路由器,服务器)

我对创建类,属性,获取/设置等只是为了直接的值而感到有点舒服。但是,在创建此类的实例并填写新实例的参数时,我希望显示枚举选项(我认为我至少在寻找枚举)。

实例将要求(如上所述)(X coord,Y coord,Type)

Dim NewClass As New clsItem(50, 75, Type.Computer)**

Type.PrinterType.Router ....

Type.[whatever]的实际值可以只是一个数字,我想(0,1,2 ....)。但是我如何设置它以便我实际上正在编写这个类我可以创建一个使用它的属性?

Dim something As IntegerAs 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当我想要实例化这个类。

1 个答案:

答案 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