Мне нужно переопределить это свойство, чтобы я мог вернуть вычисленное значение. Я не ошибаюсь, но он не работает. Что я делаю не так? Любая помощь будет большой.VB.Net переопределить свойство
Это базовый класс. BalanceValue - это частный десятичный знак.
Public Overridable Property Balance() As Decimal
Get
Return balanceValue
End Get
Set(balance As Decimal)
If balance >= 0D Then
balanceValue = balance
Else
Throw New ArgumentOutOfRangeException("Balance must be greater than or equal to 0")
End If
End Set
End Property
Это производный класс.
Public Overrides Property Balance() As Decimal
Get
Return CDec(BalanceWithInterest)
End Get
Set(balance As Decimal)
MyBase.Balance = CDec(BalanceWithInterest)
End Set
End Property
Это то, что я хочу, чтобы вернуть
Public Function CalculateInterest(interestRate As Double) As Decimal
Return CDec(MyBase.Balance + (MyBase.Balance * interestRate))
End Function
Функция CalculateInterest намеренно не использует переопределенное свойство по какой-либо неопознанной причине. Используйте Me.Balance вместо MyBase.Balance. –
Я сделал это, и он все еще не работает. Я понятия не имею, что я делаю неправильно. – LRoyster
Поскольку вы возвращаете BalanceWithInterest, вам, вероятно, следует установить его: 'BalanceWithInterest = balance' – LarsTech