Hiện nay tôi có mã này cho mô hình cơ bản của tôi:đang liệt kê triển khai loại nằm bên trong hay bên ngoài việc thực hiện Lớp
Public Enum vehicleType
Car
Lorry
Bicycle
End Enum
Public Class TrafficSurveyA
' Declare the fields here.
Private fCars As Integer
Private fBicycles As Integer
Private fLorries As Integer
Public Sub New()
' An instance of TrafficSurveyA is created with all vehicle counts set to zero.
fCars = 0
fBicycles = 0
fLorries = 0
End Sub
Public Sub incrementCount(ByVal vehicle As vehicleType)
' Preconditions: none
' Postconditions: If vehicle is "Car", "Bicycle" or "Lorry" then 1 is added
' to the corresponding count. Otherwise nothing is done.
Select Case vehicle
Case vehicleType.Car : fCars = fCars + 1
Case vehicleType.Bicycle : fBicycles = fBicycles + 1
Case vehicleType.Lorry : fLorries = fLorries + 1
Case Else 'do nothing
End Select
End Sub
Public Function getCount(ByVal vehicle As vehicleType) As String
' Preconditions: none
' Postconditions: If vehicle is "Car", "Bicycle" or "Lorry", the string
' representation of the corresponding count is returned.
' Otherwise the empty string is returned.
Dim result As String
result = ""
Select Case vehicle
Case vehicleType.Car : result = Convert.ToString(fCars)
Case vehicleType.Bicycle : result = Convert.ToString(fBicycles)
Case vehicleType.Lorry : result = Convert.ToString(fLorries)
Case Else : result = ""
End Select
Return result
End Function
Public ReadOnly Property Vehicles() As String
' Preconditions: none
' Postconditions: The total number of vehicles recorded is returned.
Get
Return (fCars + fBicycles + fLorries).ToString()
End Get
End Property
End Class
Dường như Enum
có thể chỉ là một cách dễ dàng được đặt trong lớp TrafficSurveyA
như vậy .. .
Public Class TrafficSurveyA
Enum vehicleType
Car
Lorry
Bicycle
End Enum
' Declare the fields here.
Private fCars As Integer
Private fBicycles As Integer
Private fLorries As Integer
Public Sub New()
' An instance of TrafficSurveyA is created with all vehicle counts set to zero.
fCars = 0
fBicycles = 0
fLorries = 0
End Sub
...
...
sự khác biệt chỉ sau đó có vẻ là trong mã GUI tôi cần phải sử dụng TrafficSurveyA.vehicleType.Lorry
này chứ không phải là vehicleType.Lorry
này.
Cả hai dường như chạy ok nhưng là một trong những triển khai của loại enum sai?
+1 cổ vũ Steven. Tôi có một câu hỏi 'enum' đơn giản khác [TẠI ĐÂY] (http://stackoverflow.com/questions/14013227/converting-enum-type-to-a-sting-in-order-to-return-the-name) . – whytheq