跳到主要内容

序列化

winS for Unity 使用 winML 作为框架默认的序列化方案。

关于winML

winML 是 winS for .Net© 下的基础序列化库。

在Unity引擎下,winML以 动态链接库 的方式随包提供,且非必要时不会引入最新版本。

winML

winML 是一种序列化格式,您可以用它高效的序列化 C# 数据。

设计理念

我们希望设计一种 C# 序列化格式,它拥有文本格式的可读性和可维护性,又兼顾二进制格式紧凑和快速的特点,同时还有强大的易用性。 基于此理念,我们在不断迭代中设计了 winML。

特点

winML提供完整的 C# 基元类型支持,它具有以下特点:

  • 无注入 :没有任何动/静态代码生成,仅通过编码达到最佳性能;

  • 自定义数据:您可以自定义除了基元类型之外的所有数据的序列化/反序列化方式;

  • 完整多态支持:支持完整的多态序列化和反序列化,根据实际类型创建实例;

  • 泛型与值类型:序列化/反序列化任何泛型和值类型,支持嵌套;

  • 自动类型纠错:在内部自动修复可隐式转换的错误类型;

  • 引用与循环引用:自带引用关系数据,不会导致引用丢失或生成包含具有相同数据的不同对象;