将变量添加到序列化缓冲区而不使用protobuf.net进行序列化

时间:2017-11-13 00:32:57

标签: c# protobuf-net

所以我有一个我要序列化的课程,除了某个值" key"哪一个 将用于标识要反序列化它的类。

现在我明白了,这可以手动完成,但是我创建了一个处理序列化/反序列化的类,我想让它尽可能通用。

示例代码

<?php

namespace App;

use Illuminate\Database\Eloquent\Model as Eloquent;

class Model extends Eloquent
{
    protected $guarded = [];
}

我希望Identity包含在流中但不是序列化的。

1 个答案:

答案 0 :(得分:1)

听起来你想要一个“鉴别者”。 Protobuf-net目前没有任何代码可以支持这一点,特别是在反序列化方面(简单地写一下额外的值非常简单:硬读取时会使用它)。 protobuf-net 支持支持的是:

  • 具有共同祖先和键控子类型的各种继承方案
  • 通过SerializeWithLengthPrefix手动使用,允许在序列化时指定数字键,并在反序列化时提供类型解析器(从键到类型)

如果有一个很好的用例来提供更强的鉴别支持,我很乐意考虑它,但今天不存在。我需要查看示例预期用法并考虑实现后果。