MsgPack.Cli 是 MessagePack 在 CLI 下的實作,如果要在 .NET 程式裡面使用 MessagePack,可以直接透過 NuGet 安裝使用。
Install-Package MsgPack.Cli
使用時先引用 MsgPack.Serialization 命名空間,然後透過 SerializationContext.Default.GetSerializer 取得 Serializer,用取得的 Serializer 帶入 stream 與要序列化的物件去調用 Pack 方法即可將物件序列化。
1 | using MsgPack.Serialization; |
要解序列化則是透過取得的 Serializer 將 Stream 帶入調用 Unpack 方法。
1 | ... |
MsgPack.Cli 也提供了一些 Attribute 讓我們設定要序列化的物件,像是 MessagePackIgnoreAttribute 可以指定屬性不做序列化的動作,MessagePackMember 可以指定屬性的 ID,物件屬性隨著開發增減時,能識別屬性值是要怎樣對應處理。
1 | public class OldPerson { |
像是假設本來的物件只有 Name 與 NickName 兩個屬性,後來增加了 ID 的屬性,經由 MessagePackMember 設定 ID 後,也能正常的將資料解序列化。
1 | … |