Oppure

Loading
09/09/12 21:12
Salve a tutti....stassera visual basic 2010 express si è messo in testa di darmi errori assurdi.

Public Class cubo
    Private _getlato As Single
    Private _densità As Single
    Private Shared _quantita As Int32 = 0

    Public Sub New()
        _quantita += 1
    End Sub

    Public Property getlato() As Single

End Class


L'IDE arrivato a questo punto,
mi segnala l'errore dicendomi che _getlato è in conflitto con la proprietà getlato ...ma non capisco perchè dato davanti al campo c'è l'underscore, ed è pure una convenzione scriverlo così...sono alibito!

Idee...suggerimenti? Sono in ascolto
Ultima modifica effettuata da 10/09/12 11:09
09/09/12 21:31
HeDo

hai semplicemente dimenticato il corpo della property:

Public Class cubo
    Private _getlato As Single
    Private _densità As Single
    Private Shared _quantita As Int32 = 0
 
    Public Sub New()
        _quantita += 1
    End Sub
 
    Public Property getlato() As Single
Get
            Return _getlato 
        End Get
        Set(ByVal Value As String)
            _getlato = Value
        End Set
    End Property
 
End Class


un bel manuale sotto mano e passa la paura :)
aaa
09/09/12 21:36
lo sò che manca il corpo...ma fino a oggi pomeriggio appena finivo di scrivere quella riga non mi dava errore, ed appena andavo a capo la chiudeva lui senza però set e get...

[...]

public property esempio() As single

End property
[...]


infatti ho visto anchio che nel chiuderla manualmente toglie l'errore...ma non capisco perchè dia l'errore a priori senza chiuderla in automatico come al solito o.O

ho notato infatti che ad esempio scrivo il nome della proprietà in modo diverso da quanto scritto nel campo, la funzione la chiude automaticamente senza rogne....bha...
Ultima modifica effettuata da 09/09/12 21:37
10/09/12 10:47
ampeg
sul mio vs 2010 si comporta così da sempre, devo scrivere il Get a mano, poi vado a capo e si autocompila

dopo la dichiarazione della propery si autocompila solo se la property la specifico readonly o writeonly

credo che il motivo sia dovuto al fatto che in VS 2010 sia possibile scrivere la proprietà in forma abbreviata ovvero senza specificare la variabile di modulo della proprietà e il blocco Get e Set


Property getlato As Single()



con questa forma, la variabile di modulo per la proprietà "getlato" verrà aggiunta in fase di compilazione dal compilatore e avrà il nome "_getlato"

per l'intellisense si presenta una situazione ambigua e si comporta omettendo il blocco, penso sia per questo motivo
Ultima modifica effettuata da ampeg 10/09/12 10:52
aaa
10/09/12 11:02
Ah ecco :yup: basta seperlo....infatti avevo lavorato molto con i readonly prima e li non usciva.... Grazie mille almeno sò di non essere l'unico :rofl:
Ultima modifica effettuata da 10/09/12 11:10