温馨提示×

C# property 如何支持序列化

c#
小樊
86
2024-07-15 16:54:42
栏目: 编程语言

要使C#属性支持序列化,需要在属性上添加序列化属性。可以使用[DataContract][DataMember]属性来实现属性的序列化。

例如:

using System.Runtime.Serialization;

[DataContract]
public class Person
{
    [DataMember]
    public string Name { get; set; }

    [DataMember]
    public int Age { get; set; }
}

在上面的示例中,Person类添加了[DataContract]属性,并且NameAge属性都添加了[DataMember]属性。这样就可以通过序列化器将Person对象序列化为XML或JSON格式。

另外,还可以使用XmlSerializerDataContractSerializer类来序列化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格式。

0