如何序列化该类和子类以获得此XML格式
本文关键字:XML 格式 子类 序列化 | 更新日期: 2023-09-27 18:26:28
我目前正在做序列化的工作。现在我正在尝试用子类序列化一个类。
这里是我想要zerialize的类和子类的骨架:
public class MyClass
{
public class MySubClass
{
public static int MySubInt { get; set; }
public static string MySubStr { get; set; }
}
public class MySubClass2
{
public static int MySubInt2 { get; set; }
public static string MySubStr2 { get; set; }
}
public static int MyInt { get; set; }
public static string MyStr { get; set; }
}
注意:如果看起来更好的话,子类可以是枚举。
我想要一些类似的东西:
<MyClass>
<MySubClass>
<MySubInt>42</MySubInt>
<MySubStr>Toto</MySubStr>
</MySubClass>
<MySubClass2>
<MySubInt2>4242</MySubInt2>
<MySubStr2>Titi</MySubStr2>
</MySubClass2>
<MyInt>84</MyInt>
<MyStr>Tutu</MyStr>
</MyClass>
我知道如何序列化,但我不知道如何获得我想要的预期结果。
编辑:我需要像那样使用这个类:
int toto = MyClass.MySubClass.MySubInt;
string titi = MyClass.MyStr;
string tutu = MyClass.MySubClass2.MySubStr2;
// ...
谢谢你的帮助!
您可以通过将嵌套类公开为根类的属性来获得确切的输出。
public class MyClass
{
Public MySubClass MySubClass {get;set;}
Public MySubClass2 MySubClass2 {get;set;}
public class MySubClass
{
public static int MySubInt { get; set; }
public static string MySubStr { get; set; }
}
public class MySubClass2
{
public static int MySubInt2 { get; set; }
public static string MySubStr2 { get; set; }
}
public static int MyInt { get; set; }
public static string MyStr { get; set; }
}
然而,这是一个相当糟糕的设计,我会回避它
我还强烈建议进行一些搜索,并通读像这样的文章