要使C#屬性支持序列化,需要在屬性上添加序列化屬性。可以使用[DataContract]
和[DataMember]
屬性來實(shí)現(xiàn)屬性的序列化。
例如:
using System.Runtime.Serialization;
[DataContract]
public class Person
{
[DataMember]
public string Name { get; set; }
[DataMember]
public int Age { get; set; }
}
在上面的示例中,Person
類添加了[DataContract]
屬性,并且Name
和Age
屬性都添加了[DataMember]
屬性。這樣就可以通過序列化器將Person
對象序列化為XML或JSON格式。
另外,還可以使用XmlSerializer
和DataContractSerializer
類來序列化C#對象。例如:
using System.Xml.Serialization;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Person person = new Person { Name = "Alice", Age = 30 };
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (TextWriter writer = new StreamWriter("person.xml"))
{
serializer.Serialize(writer, person);
}
在上面的示例中,Person
類沒有添加任何序列化屬性,但是使用XmlSerializer
類可以將Person
對象序列化為XML格式。