在视觉工作室,有没有办法可以"序列化"对象 - 文字c#表示法的对象,就像你可以将对象序列化为json一样?我有很多数据对象,我目前从数据库中获取,我想将其转换为文字对象,我可以将它们包含在单元测试中而不依赖于数据库。
例如,如果我在内存中有一个MyClass实例,它有字符串属性Prop1,Prop2,... PropN,我想将它序列化为一个看起来像这样的字符串c#:
var myClass1 = new MyClass(){
Prop1 = "value 1",
Prop2 = "value 2",
...
PropN = "value n"
};
答案 0 :(得分:2)
也许您最好的选择是默认的XML序列化,然后转换为字符串。
XmlSerializer serializer = new XmlSerializer(typeof(MyClass));
using (TextWriter writer = new StreamWriter(@"C:\myXml.xml"))
{
serializer.Serialize(writer, details);
}
然后检索值:
TextReader reader = new StreamReader(@"D:\myXml.xml");
object obj = serializer.Deserialize(reader);
MyClass XmlData = (MyClass)obj;
reader.Close();
当然,您可以将序列化的类存储在单个文件等中,但它会成为文件合并/拆分问题。
答案 1 :(得分:-2)