Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[VB.NET]Probleem met Setter

Pagina: 1
Acties:

  • Clyde Barrow
  • Registratie: Oktober 2006
  • Laatst online: 20-03-2022
Zit met een probleempje waar ik al lang zelf achter gezocht en gedebugd heb, maar niet uitkom.

Ik wil een setter aanroepen in een klasse, maar krijg steeds een syntaxfout en begrijp niet goed waarom. Zal het proberen te omschrijven:

Dit is de klasse, de setter is in regel 15-16-17 :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Public Class Bankrekening
    ' declaratie instantievariabelen
    Private mStand As Double

    'constructor
    Public Sub New()
        mStand = "0"
    End Sub

    ' getter en setter
    Public Property Stand() As Double
        Get
            Return mStand
        End Get
        Set(ByVal value As Double)
            mStand = CType(value, Double)
        End Set
    End Property

    Public Function Vermeerder(ByVal verhoging As Double) As Boolean
        If mStand + verhoging > 0 Then
            Return True
        Else
            Return False
        End If
    End Function

    Public Function Verminder(ByVal verlaging As Double) As Boolean
        If mStand - verlaging > 0 And verlaging >= mStand Then
            Return True
        Else
            Return False
        End If
    End Function
End Class



In volgende code probeer ik de waarde te wijzigen via de setter in regel 19, maar dit lukt niet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Class frmBankrekening
    Private rekening As Bankrekening = New Bankrekening()
    
    Private Sub btnStand_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStand.Click

        Dim stand As Double
        stand = rekening.Stand()
        TextBox1.Text = CStr(stand)

    End Sub

    Private Sub btnVerhoog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerhoog.Click
        Dim verhoog As Boolean
        Dim stand1 As Double

        verhoog = rekening.Vermeerder(CDbl(TextBox2.Text))
        If verhoog = True Then
            stand1 = 100
            TextBox1.Text = rekening.Stand(stand1)
        End If
    End Sub
End Class



Ik hoop echt dat iemand me vooruit kan helpen...

[ Voor 28% gewijzigd door Clyde Barrow op 25-08-2007 21:22 ]


  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 11:13

Rhapsody

In Metal We Trust

Waarom gebruik je CType ? mStand is al een double en wat je er in wilt stoppen zal ook altijd double zijn...

🇪🇺 pro Europa! | Puinhoop Veroorzaken en Vertrekken (PVV)


  • Clyde Barrow
  • Registratie: Oktober 2006
  • Laatst online: 20-03-2022
Ctype mag je wegdenken, dat had ik nog toegevoegd nadat het niet werkte...

  • Clyde Barrow
  • Registratie: Oktober 2006
  • Laatst online: 20-03-2022
Ik heb het ondertussen zelf gevonden!!
Moest ooit iemand dit lezen die op hetzelfde vastzit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    Private Sub btnVerhoog_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerhoog.Click
        Dim verhoog As Boolean
        Dim stand1 As Double

        verhoog = rekening.Vermeerder(CDbl(TextBox2.Text))
        If verhoog = True Then
            stand1 = CDbl(TextBox2.Text)
            rekening.Stand() = rekening.Stand() + stand1
            TextBox1.Text = CStr(rekening.Stand())
        End If
    End Sub

    Private Sub btnVerlaag_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerlaag.Click
        Dim verlaag As Boolean
        Dim stand2 As Double

        verlaag = rekening.Verminder(CDbl(TextBox3.Text))
        If verlaag = True Then
            stand2 = CDbl(TextBox3.Text)
            rekening.Stand() = rekening.Stand() - stand2
            TextBox1.Text = CStr(rekening.Stand())
        End If
    End Sub
End Class

  • kunnen
  • Registratie: Februari 2004
  • Niet online
De haakjes achter de property Stand op regel 20 kun je overigens weglaten, zoals je de regel eronder bij .Text doet.