我正在研究序列化的东西。现在我正在尝试使用子类序列化一个类。
这里是我想要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;
// ...
感谢您的帮助!
答案 0 :(得分:1)
您可以通过将嵌套类作为根类的属性公开来获得确切的输出。
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; }
}
然而,这是非常糟糕的设计,我会回避它。
我还强烈建议您进行一些搜索并阅读已发布的文章like this one