0
Possible Duplicate:
Serialize a Static Class?JsonSerializer - 類如序列化靜態類瓦爾的
是否有可能連載:
public static class Foo
{
public static int foo1 = 1;
public static int foo2 = 2;
public static string foo3 = "test";
}
成JSON在C#中使用JsonSerializer?
如果我使用:
JsonWriter jw = new JsonTextWriter(streamWriter)
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(jw, Foo);
出現錯誤: error CS0118: 'Example.Foo' is a 'type' but is used like a 'variable'
先謝謝您的任何答覆。
@Update 序列化靜態分類是不可能的,但您可以創建此類的靜態實例並對其進行序列化。 樣品:
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);
當你嘗試過什麼事? –
看看下面的鏈接http://stackoverflow.com/questions/7307100/servicestack-text-how-to-serialize-class-to-json 或http://stackoverflow.com/questions/1056121/how-to -create-json-string-in-c-sharp 或 http://stackoverflow.com/questions/1293496/serialize-a-static-class – MethodMan
錯誤CS0118:'Example.Foo'是'type',但是像'變量'使用: 'serializer.Serialize(jw,Foo);' –