Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [VB.NET] Problema ByRef di una lista
Forum - C# / VB.NET - [VB.NET] Problema ByRef di una lista

Avatar
Neo1986 (Ex-Member)
Pro


Messaggi: 88
Iscritto: 21/06/2010

Segnala al moderatore
Postato alle 17:51
Giovedì, 09/12/2010
Questo topic è stato chiuso dal moderatore

Buonasera a tutti!

è da un pò che non ci si sente! fortunatamente non ho più avuto problemi durante lo sviluppo ;)

Veniamo a noi :

ho un form e una classe, nella classe il richiamo una sub con byref una lista di struttura (ecco il codice della classe):

Codice sorgente - presumibilmente VB.NET

  1. Public Class GestioneLog
  2.  
  3. 'Struttura per la lettura degli eventi dal file
  4. Structure Info
  5.         Dim Data As String
  6.         Dim Evento As String
  7. End Structure
  8.  
  9. Public Sub Leggi(ByRef ListaEventi As List(Of Info), ByVal NumeroEventi As Integer)
  10.  
  11. 'tutto quello che devo fare per riempire la lista eventi
  12.  
  13. EndSub
  14.  
  15. EndClass




Ecco il codice nel form :

Codice sorgente - presumibilmente VB.NET

  1. Structure Info
  2.     Dim Data As String
  3.     Dim Evento As String
  4. End Structure
  5.  
  6. Public Class Form1
  7.  
  8. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  9.  
  10.         Dim Prova As New GestioneLog
  11.         Dim ListaEvent As List(Of Info)
  12.  
  13.         Prova.NomeFile = "prova"
  14.         Prova.PercorsoLog = "C:\Users\BlaBla\Desktop\TEST_LIBRERIA\"
  15.         Prova.Leggi(ListaEvent, 5)
  16.  
  17.         Dim Indice As Integer = 0
  18.  
  19.         For Indice = 0 To ListaEvent.Count - 1
  20.             Trace.WriteLine("Elemento : " & Indice.ToString & " " & ListaEvent.Item(Indice).Data.ToString & "  %  " & ListaEvent.Item(Indice).Evento.ToString)
  21.         Next
  22.  
  23.     End Sub
  24.  
  25. EndClass



Al richiamo di Prova.Leggi(), su ListaEvent mi segnala il seguente errore :

Value of type 'System.Collections.Generic.List(Of TestLibreriaExcel.Info)' cannot be converted to 'System.Collections.Generic.List(Of TestLibreriaExcel.GestioneLog.Info)'.    C:\Users\BlaBla\Desktop\SOFTWARE\PROGETTI\\TestLibreriaExcel\TestLibreriaExcel\Form1.vb    55    21    TestLibreriaExcel


Come mai? avrei proprio bisogno di riempire una lista tramite byref ma purtroppo con questo errore non riesco a proseguire.

Grazie a tutti

Ultima modifica effettuata da Neo1986 il 09/12/2010 alle 17:52


Chiedere è lecito, rispondere è cortesia, rompere il caxxx è prassi!
PM
Avatar
Ale96 (Member)
Pro


Messaggi: 132
Iscritto: 06/04/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 19:36
Giovedì, 09/12/2010
Perchè nel secondo codice hai creato un'altra struttura chiamata info, quando usi il tipo List(Of info) il computer pensa che ti stia riferendo a quella, per risolvere il problema puoi fare così:
Codice sorgente - presumibilmente C# / VB.NET

  1. Dim ListaEvent As List(Of gestionelog.Info)



Qualunque bug sufficientemente avanzato è indistinguibile da una caratteristica del software.

Ci sono 10 tipi di persone al mondo: chi capisce il codice binario e chi no.

I veri utenti non usano mai la funzione “Help”.
(tutti anonimi)
PM