Microsoft 在其文章“How to serialize an object to XML by using Visual C#”中提供了代码。
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
但是,为什么类 clsPerson 不需要用 [DataContract] 或 [Serializable] 属性标记?
最佳答案
因为 XmlSerializer不需要将这些属性放在类上。只有BinaryFormatter和 DataContractSerializer做。就此而言,DataContractSerializer
可以不用。
参见相关问题:Why is Serializable Attribute required for an object to be serialized
关于c# - 为什么类不需要标记为要序列化的 [DataContract] 或 [Serializable] 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8912532/