Originariamente inviato da Davon
Continuo qui, perchè il problema è solo parzialmente risolto.
Ho implementato la classe come ha detto Pirelli72.
Purtroppo, anzichè ritornare 690 oppure 0, mi ritorna -1 o 0.
La classe è questa
codice:
Public Property Sposato() As Boolean
Get
Return detrazioneConiuge
End Get
Set(ByVal value As Boolean)
detrazioneConiuge = value
End Set
End Property
Public Function detraiConiuge() As Boolean
Return CInt(IIf(detrazioneConiuge, 690, 0))
End Function
Ho usato la classe per valorizzare una variabile in modo opportuno, a seconda della selezione dell'utente tramite radiobutton.
codice:
Dim soggetto As New Persona
If RadioSingle.Checked = True Then 'se scelgo "single", torna 0: corretto
soggetto.Sposato = False End If
If RadioSposato.Checked = True Then
soggetto.Sposato = True End If ' se scelgo "sposato", torna -1: dovrebbe tornare -690
Come faccio a valorizzare con "-690" il caso
soggetto.Sposato ?
Davon sei un pò sbadatello, meno male ti ho scritto il codice, non dovevi fare altro che copia/incolla:
Dai un'occhiata a quello che hai scritto:
codice:
Public Function detraiConiuge() As Boolean
Return CInt(IIf(detrazioneConiuge, 690, 0))
End Function
Non è senz'altro quello che to ho suggerito:
codice:
Public Function detraiConiuge() As integer
Return CInt(IIf(detrazioneConiuge, 690, 0))
End Function

La funzione IIf non può che ritornare o 690 o 0 a seconda che detrazioneConiuge sia o True o False. Purtroppo se però alla funzione gli fai tornare un Boolean!!!!!!