VB.NET中,如何在外部或内部类中实现枚举类型?

2026-05-06 09:231阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计478个文字,预计阅读时间需要2分钟。

VB.NET中,如何在外部或内部类中实现枚举类型?

目前我有一个自己的底层模型的代码:+Public Enum vehicleType Car Lorry BicycleEnd Enum

+Public Class TrafficSurvey ' + Declare the fields here. Private fCars As Integer Private fBicycles As Integer Private fLorries As Integer

+Public Sub ' + Code for the TrafficSurvey class methods goes here. End SubEnd Class

目前我有我的底层模型的代码:

VB.NET中,如何在外部或内部类中实现枚举类型?

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

似乎Enum可以很容易地放在TrafficSurveyA类中,就像这样……

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 ... ...

唯一的区别似乎是我需要使用此TrafficSurveyA.vehicleType.Lorry而不是此vehicleType.Lorry的GUI代码.

两者似乎都运行正常,但枚举类型的这些实现之一是错误的吗?

不,两者都很好.这只是一个偏好问题,也是组织目的最有意义的问题.我唯一的建议是,如果枚举将在任何其他类中用作输入或输出类型,我不会把它放在这个类中.那只会令人困惑.
标签:

本文共计478个文字,预计阅读时间需要2分钟。

VB.NET中,如何在外部或内部类中实现枚举类型?

目前我有一个自己的底层模型的代码:+Public Enum vehicleType Car Lorry BicycleEnd Enum

+Public Class TrafficSurvey ' + Declare the fields here. Private fCars As Integer Private fBicycles As Integer Private fLorries As Integer

+Public Sub ' + Code for the TrafficSurvey class methods goes here. End SubEnd Class

目前我有我的底层模型的代码:

VB.NET中,如何在外部或内部类中实现枚举类型?

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

似乎Enum可以很容易地放在TrafficSurveyA类中,就像这样……

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 ... ...

唯一的区别似乎是我需要使用此TrafficSurveyA.vehicleType.Lorry而不是此vehicleType.Lorry的GUI代码.

两者似乎都运行正常,但枚举类型的这些实现之一是错误的吗?

不,两者都很好.这只是一个偏好问题,也是组织目的最有意义的问题.我唯一的建议是,如果枚举将在任何其他类中用作输入或输出类型,我不会把它放在这个类中.那只会令人困惑.
标签: