Archiviare User Defined Type

mercoledì 09 marzo 2011 - 13.37
Tag Elenco Tags  Visual Studio 2008

ladrone Profilo | Newbie

Ciao a tutti.
La mia scarsa esperienza mi costringe a ricorre ancora al Vs prezioso aiuto.

Il problema è questo.
Ho definito una struttura personalizzata del tipo :

public structure car

public colore
public cilindrata
public marca
public etc....
........................
end structure

supponiamo con un centinaio di proprietà (colore,cilindrata,etc...)

come posso archiviarla e, successivamente rileggerla, (su qualunque tipo di file) senza scrivere una noiosissima sub che preveda un comando per ogni proprietà del tipo :
PrintLine car.colore
PrintLine car.marca
PrintLine car.etc...........


cioè, in altri termini, esiste un possibile ciclo da eseguire sulle singole ".xxx" senza scriverle esplicitamente??
Esistono classi specifiche per risolvere questo problema?

Ringrazio tutti in anticipo

whiteflash Profilo | Junior Member

ciao è un pò più complicata la cosa che vuoi fare, non puoi fare quello semplicemente usando una Struttura
o ti crei una Classe ad Hoc tipo questo esempio che ti ho scritto:

(Per provare l'esempio crea un nuovo progetto e sostituisci completamente il codice della Form con questo)
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

e se poi devi salvare la collezione su un file per dopo riaprirla
devi crearti o una funzione apposita che ti scrive e legge il file come testo

oppure
potresti orientarti verso i DataSet / DataTable che hanno molte più funzioni
e probabilmente ti solleveranno da altri rompicapi

ladrone Profilo | Newbie

grazie per l'elegante soluzione che mi hai fornito, credo che proverò con i dataset.
Alla prossima.

aiedail92 Profilo | Expert

In realtà non è una cosa così complessa, la serializzazione (System.Runtime.Serialization) fornisce tutti gli strumenti necessari.

Ti rimando a questi link per maggiori info:

http://msdn.microsoft.com/en-us/library/ms233843.aspx (informazioni generali)
http://support.microsoft.com/kb/815813 (how-to basilare, con un esempio di codice funzionante)
http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file (custom serialization)

Luca

ladrone Profilo | Newbie

Grazie, vado a studiare i link....
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5