我尝试动态地将值(Test1
)赋值给属性(Wealth
),以便根据初始化的类别计算出的值不同。但是我得到的结果都是0.谁能解释我为什么以及如何解决问题。根据已初始化的类将属性赋值给属性
Public Class Class1
Private _test1 As Integer
Overridable ReadOnly Property Test1 As Integer
Get
Return _test1
End Get
End Property
Public ReadOnly Property Wealth As Integer
Get
Dim rnd As New Random
Dim val As Integer = rnd.Next(1, 6)
Return val * _test1
End Get
End Property
End Class
Public Class Class2
Inherits Class1
Public Overrides ReadOnly Property Test1 As Integer
Get
Return 3
End Get
End Property
End Class
初始化:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim t As New Class2
MsgBox(t.Wealth.ToString)
End Sub
End Class
伟大,exactely我一直在寻找,我甚至明白为什么它不适用于我的情况。干杯! – ruedi
嗨!第一部分工作,但现在在家里,我看到“返回val * Test1”仍然是私有变量。所以这是行不通的。 – ruedi
哪个地方值? “VAL”?这是您的原始代码中的本地定义的随机数。你真的想用这个代码做什么?是否需要一款游戏?因为目前,每次使用“财富”功能时都会返回不同的值。 – SSS