我有以下包含静态成员变量的对象。
我想要做的是序列化这个对象并将其保存到XML。不幸的是,下面的代码似乎没有完成这项工作。
我很感激能帮到你。
[Serializable]
public class Numbers
{
public int no;
public static int no1;
public SubNumbers SubNumber;
}
[Serializable]
public class SubNumbers
{
public int no;
public static int no2;
}
[TestMethod]
public void Serialize_Object_with_Static_Property_test()
{
Numbers a = new Numbers();
a.no = 12;
Numbers.no1 = 345243;
SubNumbers s = new SubNumbers();
s.no = 459542;
SubNumbers.no2 = 9999999;
a.SubNumber = s;
String filename = @"a1.txt";
FileStream fs = new FileStream(filename, FileMode.Open);
XmlSerializer x = new XmlSerializer(typeof(Numbers));
x.Serialize(fs, a);
fs.Close();
}
答案 0 :(得分:8)
使用序列化,我们只能序列化以下属性:
在这种情况下,如果要序列化“no1”,则必须将其包装起来,如下所示:
[Serializable]
public class Numbers
{
public int no;
public static int no1;
public SubNumbers SubNumber;
public int no1_Serialize {get {return no1;} set {no1 = value;} }
}