W klasie SerializationInfo sa metody GetInt32, GetString, GetChar itp, czy mozna tez w jakis sposob serializowac typ wyliczeniowy zdefiniowany przeze mnie w programie? Nie powiem ze bardzo by mi sie to przydalo.
Troche późno odpowiedź ale zawsze to jakaś:
Możesz zadeklarować klasę w następujący sposób
[Serializable()]
public class CObiekt : ISerializable
Następnie w klasie możesz dawać jakieś zmienne, metody itd.
Musi się jednak znaleźć konstruktor deserializacji w postaci:
public CObiekt(SerializationInfo info, StreamingContext context)
{
//Co ma robić np.
ZmiennaWKlasie = (int)info.GetValue("Nazwa", typeof(int));
}
A także musi być funkcja serializacji
public void GetObjectData(SerializationInfo info,
StreamingContext context)
{
info.AddValue("Nazwa", ZmiennaWKlasie );
}
No i dalej używasz na tym obiekcie funkcji Serialize i Deserialize
Serializacja ta używa
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;