What happens if we serialize a static class? Can more than one instance of the static class be created if we serialize it?
[Serializable]
public static class
Why not just use a temporary instance class that is a mirror of the static class?
[XmlRoot]
public class SerializeClass
{
public int Number {
get;
set;
}
}
public static class SerializedClass {
public static int Number {
get;
set;
}
public static void Serialize(Stream stream) {
SerializeClass obj = new SerializeClass();
obj.Number = Number;
XmlSerializer serializer = new XmlSerializer(typeof(SerializeClass));
serializer.Serialize(stream, obj);
}
public static void Deserialize(Stream stream) {
XmlSerializer serializer = new XmlSerializer(typeof(SerializeClass));
SerializeClass obj = (SerializeClass)serializer.Deserialize(stream);
Number = obj.Number;
}
}
I know it's a bit of a hack, but it acheives the same purpose, while still allowing Refactor before runtime, and value validation during runtime.