Grazie ancora alka, e scusa se ti scrivo delle cose senza senso
sono nuovo nella oop e purtroppo qualche concetto non l'ho ancora bene assimilato.
Allora ho seguito il tuo prezioso consiglio, ho modificato il codice così:
codice:
Imports Microsoft.VisualBasic
Public Class clsEscursionista
'Campi della classe
Private _strNome As String
Private _strGruppo As String
'Proprietà della classe
Public Property Nome() As String
Get
Return _strNome
End Get
Set(ByVal value As String)
_strNome = value
End Set
End Property
Public Property Gruppo() As String
Get
Return _strGruppo
End Get
Set(ByVal value As String)
_strGruppo = value
End Set
End Property
End Structure
Public Class ClsGestioneEscursioni
'Campi della classe
Private _dtaData As Date = Nothing
Private _strLocalita As String = ""
Private _strCavita As String = ""
Private _clsEscursionisti() As clsEscursionista = Nothing
Private _strRelazione As String = ""
'Proprietà della classe
Public Property Data() As Date
Get
Return _dtaData
End Get
Set(ByVal value As Date)
_dtaData = value
End Set
End Property
Public Property Localita() As String
Get
Return _strLocalita
End Get
Set(ByVal value As String)
_strLocalita = value
End Set
End Property
Public Property Cavita() As String
Get
Return _strCavita
End Get
Set(ByVal value As String)
_strCavita = value
End Set
End Property
Public Property Escursionisti(ByVal Indice As Integer) As clsEscursionista
Get
Return _clsEscursionisti(Indice)
End Get
Set(ByVal value As clsEscursionista)
_clsEscursionisti(Indice) = value
End Set
End Property
Public Property Relazione As String
Get
Return _strRelazione
End Get
Set(ByVal value As String)
_strRelazione = value
End Set
End Property
End Class
e lo uso così:
codice:
Dim escursione As New ClsGestioneEscursioni()
Dim strData = "#12/24/2010#"
escursione.Data = Date.Parse(strData)
escursione.Localita = "Località"
escursione.Cavita = "Cavità"
escursione.Escursionisti(0).Nome = "Nome1"
escursione.Escursionisti(0).Gruppo = "Gruppo1"
escursione.Escursionisti(1).Nome = "Nome2"
escursione.Escursionisti(1).Gruppo = "Gruppo2"
escursione.Escursionisti(2).Nome = "Nome3"
escursione.Escursionisti(2).Gruppo = "Gruppo3"
escursione.Relazione = "fatto un bel giro e trovati nuovi rami da esplorare ulteriormente in prossime escursioni"
ora mi viene restituito questo errore:
Riferimento a un oggetto non impostato su un'istanza di oggetto.
Riga 106: Public Property Escursionisti(ByVal Indice As Integer) As clsEscursionista
Riga 107: Get
Riga 108: Return _clsEscursionisti(Indice) <--- l'errore è in questa riga
Riga 109: End Get
Riga 110: Set(ByVal value As clsEscursionista)
invece se uso la classe in questo modo:
codice:
Dim objEscursionista As New clsEscursionista()
Dim escursione As New ClsGestioneEscursioni()
Dim strData = "#12/24/2010#"
escursione.Data = Date.Parse(strData)
escursione.Localita = "Località"
escursione.Cavita = "Cavità"
objEscursionista.Nome = k & "Nome1"
objEscursionista.Gruppo = k & "Gruppo1"
escursione.Escursionisti(0) = objEscursionista
objEscursionista.Nome = k & "Nome2"
objEscursionista.Gruppo = k & "Gruppo2"
escursione.Escursionisti(1) = objEscursionista
objEscursionista.Nome = k & "Nome3"
objEscursionista.Gruppo = k & "Gruppo3"
escursione.Escursionisti(2) = objEscursionista
escursione.Relazione = "fatto un bel giro e trovati nuovi rami da esplorare ulteriormente in prossime escursioni"
mi restituisce questo errore:
Riferimento a un oggetto non impostato su un'istanza di oggetto.
Riga 109: End Get
Riga 110: Set(ByVal value As clsEscursionista)
Riga 111: _clsEscursionisti(Indice) = value <--- l'errore è in questa riga
Riga 112: End Set
Riga 113: End Property
sai dirmi dove sbaglio??
Grazie per la tua pazienza