【发布时间】:2014-09-17 10:26:59
【问题描述】:
我正在使用 YamlDotNet 库来序列化 Yaml 中的一些对象。我在 Guid 属性的序列化方面遇到了一些问题。 Guid 属性的序列化生成空括号(例如:{})
见下方代码
Dim l As New List(Of Person)
l.Add(New Person() With {.Firstname = "MyFirstName", .Lastname = "MyLastName", .Id = Guid.NewGuid()})
Using sw As New StreamWriter("output.yaml", False)
Dim serializer = New Serializer()
serializer.Serialize(sw, l)
End Using
这段代码将输出:
- Id: {}
Firstname: MyFirstName
Lastname: MyLastName
跟班:
Public Class Person
Public Property Id As Guid
Public Property Frstname As String
Public Property Lastname As String
End Class
是我遗漏了什么还是图书馆的问题?
【问题讨论】:
-
库问题不会为 YAML 中不支持的类型抛出异常。
-
所以 YamlDotNet 序列化/反序列化不支持 Guid 类型?我期待库输出类似 {1234564-1232132-21321321} 的东西,然后这个字符串可以很容易地解析为 system.guid ...
-
Guid 类型本身不支持,但添加支持很简单。看我的回答。
标签: vb.net yaml yamldotnet