Serializzazione di una form

martedì 16 settembre 2008 - 17.02

Luka90 Profilo | Junior Member

Ciao a tutti!

premessa: ho sempre serializzato senza problemi le rare volte che mi è capitato.

Ora ho da serializzare una form per il salvataggio di una partita (la form è un gioco). Il problema è che mi dice che FORM non è contrassegnato come serializzabile!!!
Io ho messo come sempre l'intestazione sulla mia lasse che deriva da Form...

[Serializable]
public partial class Game : Form

Dove sbaglio?

Luca

Brainkiller Profilo | Guru

>Ora ho da serializzare una form per il salvataggio di una partita
>(la form è un gioco). Il problema è che mi dice che FORM non
>è contrassegnato come serializzabile!!!
>Io ho messo come sempre l'intestazione sulla mia lasse che deriva
>da Form...

Ciao Luca,
non mi sembra un'idea geniale serializzare la Form in questo modo. Visto che trattasi di un gioco perchè vuoi serializzarla in toto ? Cosa ti serve immagazzinare ? Io di solito consiglio in qualsiasi caso di creare delle classi/oggetti che contengano poi i valori che vengono rappresentati sulla UI quindi sulla form.

Se devi fare un salvataggio del gioco serializzi quella classe/oggetto e poi al contrario la puoi deserializzare per ricominciare da dove eri arrivato.

Serializzare oggetti/classi che rappresentano la UI non mi sembra corretto.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

Luka90 Profilo | Junior Member

Intanto grazie per la risposta ^_^

Avevo pensato anche a questa soluzione infatti, ma mi ero ostinato a fare altrimenti

Grazie dell'idea!

Ma quindi non dovrebbe più dare problemi così facendo no? :)

Luca

Brainkiller Profilo | Guru

>Avevo pensato anche a questa soluzione infatti, ma mi ero ostinato
>a fare altrimenti
>Grazie dell'idea!
>Ma quindi non dovrebbe più dare problemi così facendo no? :)

Secondo me no, nel senso che questa è la soluzione da usare. Ti crei una tua classe/oggetto con attributo [Serializable] che incapsula tutti i valori in tempo reale del gioco, quando salvi, serializzi tutto su disco. E al contrario quando riparti. Per me funzionerà alla grande.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5