Possible Duplicate:
Serialize a Static Class?
Is it possible to serialize class such as:
public static class Foo
{
public static int foo1 = 1;
public static int foo2 = 2;
public static string foo3 = "test";
}
into JSON using JsonSerializer in C#?
If I use:
JsonWriter jw = new JsonTextWriter(streamWriter)
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(jw, Foo);
appears error:
error CS0118: 'Example.Foo' is a 'type' but is used like a 'variable'
Thanks in advance for any responses.
@Update Serializing static classess is impossible, but you can create static instance of this class and serialize it. Sample:
public static FooClass Foo = new FooClass();
[Serializable]
public class FooClass : System.Runtime.Serialization.ISerializable
{
public FooClass()
{
}
public static int foo1 = 1;
public static int foo2 = 2;
public static string foo3 = "test";
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("static.foo1", FooClass.foo1, typeof(int));
info.AddValue("static.foo2", FooClass.foo2, typeof(int));
info.AddValue("static.foo3", FooClass.foo3, typeof(string));
}
public FooClass(SerializationInfo info, StreamingContext context)
{
FooClass.foo1 = info.GetInt32("static.foo1");
FooClass.foo2 = info.GetInt32("static.foo2");
FooClass.foo3 = info.GetString("static.foo3");
}
}
...
serializer.Serialize(jw, Foo);