我正在尝试为男性、女性两个字段范围内的值计算百分比。
在EmployeesData.vb
Public Function getPercentMen() As Double
Dim result As Double
result = 0
If Men + Women > 0 Then result = (Men * 100) / (Men + Women)
End If
Return result
End Function
在我的 Demographics.vb 我有以下输出:
Private Sub updateView()
' The percentage Men and Women recorded is displayed in
' the appropriate text boxes.
percentMenTextBox.Text = fEmployeesData.getPercentMen().ToString()
percentWomenTextBox.Text = fEmployeesData.getPercentWomen().ToString()
updateView()
End Sub
我得到的错误是
An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll
Visual Studio 将我指向以下行
percentMenTextBox.Text = fEmployeesData.getPercentMen().ToString()
我认为问题在于我试图错误地将 Double 强制转换为 String 或类似的东西
我已经添加了整个班级
Public Class EmployeesData
Private fMen As Integer
Private fWomen As Integer
Public Sub New()
fMen = 0
fWomen = 0
End Sub
Public ReadOnly Property Men As Integer
Get
Return fMen
End Get
End Property
Public ReadOnly Property Women As Integer
Get
Return fWomen
End Get
End Property
Public Sub addMen()
fMen = fMen + 1
End Sub
Public Sub addWomen()
fWomen = fWomen + 1
End Sub
Public Function getPercentMen() As Double
Dim result As Double
result = 0
If Men + Women > 0 Then
result = (Men * 100) / (Men + Women)
End If
Return result
End Function
Public Function getPercentWomen() As Double
Dim result As Double
result = 0
If Men + Women > 0 Then
result = (Women * 100) / (Men + Women)
End If
Return result
End Function
Public Sub reset()
fMen = 0
fWomen = 0
End Sub
End Class