【问题标题】:How to serialize a custom class with YamlDotNet如何使用 YamlDotNet 序列化自定义类
【发布时间】:2015-04-11 18:51:18
【问题描述】:

我正在尝试使用 YamlDotNet 库序列化自定义类。
这是我的课:

public class Person
{
    string firstName;
    string lastName;

    public Person(string first, string last)
    {
        firstName = first;
        lastName = last;
    }
}

这是我尝试序列化它的方式:

StreamWriter streamWriter = new StreamWriter("Test.txt");
Person person = new Person("toto", "titi");
Serializer serializer = new Serializer();
serializer.Serialize(streamWriter, person);

但在我的输出文件中,我只有这个:{ }

我忘了做什么来序列化我的课程?

【问题讨论】:

    标签: yamldotnet


    【解决方案1】:

    YamlDotNet 的默认行为是序列化公共属性并忽略字段。最简单的解决方法是用自动属性替换公共字段:

    public class Person
    {
        public string FirstName { get; private set; }
        public string LastName { get; private set; }
    
        public Person(string first, string last)
        {
            FirstName = first;
            LastName = last;
        }
    }
    

    您可以相对轻松地更改 YamlDotNet 的行为来序列化私有字段,但我不建议这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多