Domanda

Se c'è un oggetto in cui ogni bene pubblico deve essere serializzato e le proprietà sono semplici (solo numeri o stringhe o oggetti già implementati ISerializable), esiste un modo semplice per farlo senza dover creare GetObjectData(SerializationInfo info, StreamingContext context) e un costruttore che prende SerializationInfo come argomento ogni volta?

So che può essere eseguito manualmente con la riflessione, ma esiste un metodo magico all'interno di .NET Framework per farlo?


Quindi la risposta corretta è:

Non provare a implementare ISerializable: è per la serializzazione personalizzata.Aggiungi invece l'attributo [Serializable] subito prima della dichiarazione della classe.

È stato utile?

Soluzione

Prova la classe BinaryFormatter: dovrebbe fare ciò di cui hai bisogno

MODIFICARE:Non deriva da BinaryFormatter: è una classe di utilità che usi per eseguire la serializzazione.Ecco un esempio copiato dai documenti

MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
obj.str = "Some String";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top