gpt4 book ai didi

c# - 可序列化类

转载 作者:行者123 更新时间:2023-11-30 13:32:56 24 4
gpt4 key购买 nike

如何使 Student 类可序列化?我正在读这个article但我不知道如果我在下面的场景中实现它,什么是正确的方法。

public class Student
{
private string _studentNumber;
private string _lastName;
private string _firtName;
private List<Subject> _subjects;

public Student() { }

public string StudentNumber
{
get { return _studentNumber; }
set { _studentNumber = value; }
}

public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}

public string FirstName
{
get { return _firtName; }
set { _firtName = value; }
}

public List<Subject> Subjects
{
get { return _subjects; }
set { _subjects = value; }
}
}

public class Subject
{
private string _subjectCode;
private string _subjectName;

public Subject() { }

public string SubjectCode
{
get { return _subjectCode; }
set { _subjectCode = value; }
}

public string SubjectName
{
get { return _subjectName; }
set { _subjectName = value; }
}
}

最佳答案

对于 BinaryFormatter , 只需添加 [Serializable]public class .... 之前

对于 XmlSerializer , 没有什么;假设您需要元素,那应该可以正常工作

对于 DataContractSerializer (严格来说是 3.0 类),添加 [DataContract]上课,和[DataMember]到属性

对于 protobuf-net,您可以使用 DataContractSerializer每个属性只要[DataMember]指定一个唯一的 Order= ,或者您可以使用 [ProtoContract]在类里面,和[ProtoMember(n)]在每个属性上,对于唯一的 n .

对于 JavaScriptSerializer (技术上 3.5),什么都没有 - 它应该可以工作

对于 Json.NET , 什么都没有 - 它应该可以工作

其他选项包括实现 ISerializableIXmlSerializable ,但坦率地说:您不需要那个。

关于c# - 可序列化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com