将对象与静态成员变量一起序列化为XML

Kob*_*kie 1 .net c# serialization static xml-serialization

我有以下包含静态成员变量的对象.

我想要做的是序列化这个对象并将其保存到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(); 
}
Run Code Online (Sandbox Code Playgroud)

aga*_*ici 9

使用序列化,我们只能序列化以下属性:

  • 上市
  • 不是静止的
  • 不读

在这种情况下,如果要序列化"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;} }
}
Run Code Online (Sandbox Code Playgroud)